logo
0
0
WeChat Login
docs: complete project documentation and configuration

Sanitize

Docker 配置文件本地脱敏与安全验证工具。

在将配置文件分享给 AI 助手或其他第三方之前,自动识别并脱敏敏感信息,并通过 Gitleaks 进行安全验证。

功能特性

  • 键名脱敏: 自动识别包含敏感关键词的配置项(如 password, token, secret 等)
  • 内容脱敏: 支持指定具体密码/IP片段进行整词替换
  • 格式支持: 支持 .env, .yml, .yaml, .conf, .json, .ini, .txt 等多种配置文件格式
  • 安全验证: 集成 Gitleaks 进行二次安全扫描
  • 非破坏性: 在独立目录中操作,不修改原始文件

安装

# 克隆仓库 git clone https://github.com/lzf-sanitize.git cd sanitize # (可选) 创建虚拟环境 python -m venv .venv source .venv/bin/activate

使用方法

基本用法

python cli.py <源目录> <目标目录> [选项]

参数说明

参数说明
src源目录路径(存放原始配置文件)
dest目标目录路径(存放脱敏后的文件)
-f, --force目标目录已存在时强制覆盖
-v, --verbose显示详细处理日志
-k, --keys追加要脱敏的键名,逗号分隔
-S, --secrets追加要脱敏的密码/IP片段,自动替换整词
-s, --scan脱敏后调用 Gitleaks 进行验证

使用示例

1. 基本脱敏

python cli.py ~/real-docker ~/ai-workspace

2. 追加自定义键名

python cli.py ~/real-docker ~/ai-workspace -k mysql,redis,api_key

3. 脱敏特定密码/IP片段

python cli.py ~/real-docker ~/ai-workspace -S "mySecretPasswd,192.168.1"

4. 完整流程(脱敏 + 安全验证)

python cli.py ~/real-docker ~/ai-workspace -k mysql,redis -S "password123" -s -v

默认脱敏键名

工具默认会脱敏以下键名(不区分大小写):

  • pass, pwd, secret, key, token
  • auth, cookie, cert, credential, id

安全验证

使用 -s 参数时,工具会通过 Docker 调用 Gitleaks 进行安全扫描:

python cli.py ~/real-docker ~/ai-workspace -s

如果发现潜在泄露,可以:

  1. 使用 -v 查看详细信息
  2. 添加更多敏感词 (-k-S)
  3. 在特定行添加 # gitleaks:allow 注释(确认是误报时)

注意事项

  1. 本工具在目标目录中操作,不会修改原始文件
  2. 使用 -s 参数需要本地安装并启动 Docker
  3. 建议在分享前使用 -s -v 进行完整检查

License

MIT