如何使用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/

相关推荐
龙亘川4 小时前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
kybs19915 小时前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
LorryJovens6 小时前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
其实防守也摸鱼6 小时前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
山东科恩光电7 小时前
提升安全性的关键技术:安全触边在工业自动化中的应用解析
安全
LONGZETECH8 小时前
一线职教实测:风光 580 汽车故障诊断仿真系统,破解实车实训四大核心痛点
人工智能·学习·安全·架构·汽车
Mikko78 小时前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
赛博守夜人8 小时前
反舞弊系列之十四:商业地产与零售招商中的“转租差价与免租期寻租”
安全
xiaoqiMikko9 小时前
你升的是 jackson-databind,中招的是 jackson-core:一个超长 JSON key 就能吃掉 200MB 堆
java·安全