关于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传送门】