当前位置: 首页 > article >正文

如何使用MaskerLogger防止敏感数据发生泄露

关于MaskerLogger

MaskerLogger是一款功能强大的记录工具,该工具可以有效防止敏感数据泄露的发生。

MaskerLogger旨在保护目标系统的日子安全,此格式化程序可确保你的日志安全并防止敏感数据泄露。例如使用此格式化程序,打印下列数据:

logger.info(f'Dont Give Your {secrets} away')

输出结果如下所示:

Dont Give Your ****** away

功能介绍

此格式化程序使用标准logging.Formatter模块。

在将每条记录打印到任何目标(文件、标准输出等)之前,它会确保敏感数据用星号屏蔽,以防止泄露。

工具要求

Python3

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

源码获取

广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/oxsecurity/MaskerLogger.git

pip安装

pip install maskerlogger

工具使用

与任何格式化程序一样 - 只需使用 MaskerLogger 格式化程序初始化你的记录器处理程序即可:

from maskerlogger import MaskerFormatter

logger = logging.getLogger('logger')

logger.setLevel(logging.DEBUG)

handler = logging.StreamHandler()

handler.setFormatter(

    MaskerFormatter("%(asctime)s %(name)s %(levelname)s %(message)s"))

logger.addHandler(handler)

如果由于某种原因,你想要禁用特定日志行上的屏蔽,请使用该SKIP_MASK(“隐蔽跳过”)机制:

from masker_formatter import MaskerFormatter, SKIP_MASK

...

...

logger.info('Line you want to skip', extra=SKIP_MASK)

如果你希望仅屏蔽敏感数据的其中一部分(而不是其全部长度),则可以在格式化程序中设置redact参数,该redact参数可以指定要屏蔽的机密的百分比。

以下是如何使用它的示例:

handler.setFormatter(

    MaskerFormatter("%(asctime)s %(name)s %(levelname)s %(message)s",

                    redact=30))

在此示例中,30% 的敏感数据将被屏蔽。请根据需要调整redact的值以满足你的要求。

使用自定义配置文件

要创建和使用自己的配置文件,请在初始化格式化程序时设置路径:

handler.setFormatter(

    MaskerFormatter("%(asctime)s %(name)s %(levelname)s %(message)s",

                    regex_config_path="your/config/gitleaks.toml"))

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

MaskerLogger:【GitHub传送门】

参考资料

https://www.ox.security/


http://www.kler.cn/a/512812.html

相关文章:

  • 2024年第十五届蓝桥杯青少组国赛(c++)真题—快速分解质因数
  • MATLAB中characterListPattern函数用法
  • 【2024 年度总结】从小白慢慢成长
  • 机器人“大脑+小脑”范式:算力魔方赋能智能自主导航
  • Tomcat下载配置
  • CT重建笔记(三)——共轭梯度法
  • cherry-pick使用
  • 【wiki知识库】07.用户管理后端SpringBoot部分
  • 日本工作面试基本礼仪-一篇梗概
  • 商城系统中的常见 BUG
  • # [0114] Task01 《数学建模导论》P1 解析几何与方程模型
  • html与css学习笔记(2)
  • 微信小程序中实现背景图片完全覆盖显示,可以通过设置CSS样式来实现
  • Spring MVC:HTTP 请求的参数传递2.0
  • 【Python】JSON
  • K8S中Pod控制器之Job控制器
  • 一文玩转生成式AI新星DeepSeek-V3,带你5分钟配置自己的随身AI
  • 【QT】已解决:Qt4.11.0无法使用MSVC编译器问题
  • Python入门:3.Python的输入和输出格式化
  • 【C语言篇】深入探究 C 语言指针:揭开指针变量与地址的神秘面纱
  • 【Elasticsearch】filterQuery过滤查询
  • 计算机网络 (52)秘钥分配
  • 家用路由器:WAN口和LAN口区别?
  • 华为OD机试E卷 --矩阵扩散--24年OD统一考试(Java JS Python C C++)
  • c++解决常见内存泄漏问题——智能指针的使用及其原理
  • 牛客周赛76:JAVA