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

相关推荐
小江的记录本7 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试
超梦dasgg8 小时前
Java 生产环境第三方对接安全保障方案
java·开发语言·安全
IAR Systems8 小时前
软件定义汽车:构建更安全、更智能的汽车应用软件
安全·汽车·嵌入式·iar
无限进步_10 小时前
【C++】weak_ptr、循环引用与线程安全
开发语言·数据结构·c++·算法·安全
叶落阁主10 小时前
AntV npm 投毒复盘:一次公司私服缓存恶意包引发的账号封禁事件
前端·安全·npm
cfm_291411 小时前
MySQL8.0 核心新特性详解(架构/性能/SQL/索引/安全全覆盖)
sql·安全·架构
lcreek11 小时前
Java安全:理解JNDI注入与Fastjson反序列化漏洞
java·安全
楷哥爱开发12 小时前
Facebook解封指南:4种封禁类型及其原因(附对应申诉方法)
网络·学习·安全
Geometry Fu12 小时前
《物联网安全》第3.1章 RFID安全
物联网·安全·rfid
爱搬砖的狮子13 小时前
【网络安全】恶意漏扫防守
安全