Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SecretScrub — 处理来自静态分析工具的 SARIF 输出,以检测并移除源代码中硬编码的机密信息,生成不含原始机密信息的干净副本。 | Kitploit
工具/GitHubGitHub/nccgroup/secretscrub
静态代码分析 (SAST)配置审计DevSecOps实用工具与框架秘密检测
GitHubnccgroup/secretscrub

SecretScrub

处理来自静态分析工具的 SARIF 输出,以检测并移除源代码中硬编码的机密信息,生成不含原始机密信息的干净副本。

查看仓库
5412年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SecretScrub

SecretScrub 将清除你所有肮脏的硬编码秘密。该脚本处理采用 SARIF 文件格式的文件,SARIF 由各种静态分析工具生成。该工具扫描文件系统中的目录,将所有在 SARIF 文件中检测到的秘密实例在目录的新副本中进行脱敏。由于秘密通常存在于 Git 历史记录中,因此生成副本时会省略 .git 目录。

尽管 SARIF 是行业标准格式,但各种工具生成的 SARIF 输出仍存在差异。因此,目前仅支持以下工具。

ToolVersionComments
Trivy0.37.0
Gitleaks8.15.2仅适用于使用 --no-git 选项生成的报告,该选项用于扫描文件系统,但不扫描底层 Git 仓库(如果存在)。
ccs1d055c542dbdb6e7b96279d4df03ea9b556eb27accs 输出必须使用随附的 ccs2sarif.py 脚本预处理为 SARIF 格式。
cq011697a9e371e37a6ac9f714b3980672bc6108e7CQ 输出必须使用随附的 cq2sarif.py 脚本预处理为 SARIF 格式。由于 CQ 输出可能噪声很大,建议单独执行脱敏操作,或者对文件命名,使 CQ 文件在目录中最后出现。
BinDetect一种内置工具,用于检测通常被其他面向文本的工具遗漏的二进制文件。

由于 SARIF 输出的差异,未来版本工具生成的输出可能无法正常工作。

依赖项

依赖项列在 requirements.txt 文件中。简而言之,需要以下软件包:

Package

用法

命令行用法

使用先前生成的工具输出

root@kitploit:~
$ python secretscrub.py --input <path> --srcdir <path> --outdir <path> [--report <path>]

调用工具

root@kitploit:~
$ python secretscrub.py --analyse-with <analysis-tool-list> --srcdir <path> --outdir <path> [--report <path>]

注意:为了正常工作,当前系统上必须存在并安装这些工具:

Docker 容器

从该源码树构建的 Docker 镜像包含 SecretScrub 工具以及 Trivy、GitLeaks、ccs 和 cq 工具的副本。

如果使用 secretscrub:latest 标签构建,以下命令将启动一次完整的分析和脱敏操作,并生成相应的报告。

root@kitploit:~
sudo docker run -it -v <source-path>:/src:ro -v <output-path>:/out secretscrub:latest --analyse-with trivy,gitleaks,bindetect

请注意,这需要在容器内映射两个卷。第一个 -- <source-path> -- 应包含原始的、未脱敏的源代码。第二个 -- <output-path> -- 将接收脱敏后的输出和报告。

建议的工作流程

以下示例假设源代码存储在名为 src 的子目录中,且 SecretScrub 安装在名为 tools 的子目录中。

使用命令行

root@kitploit:~
$ python tools/secretscrub.py --analse-with trivy,gitleaks,bindetect --srcdir src --outdir src-redacted

使用 Docker 容器

root@kitploit:~
sudo docker run -it -v <source-path>:/src:ro -v <output-path>:/out secretscrub:latest --analyse-with trivy,gitleaks,bindetect
下载工具
Version
asn12.7.0
filetype1.2.0
py7zr0.20.5
pyzipper0.3.6
regex2023.5.5
sarif-tools1.0.0
参数定义
input待处理的 SARIF 结果的位置。它可以包含多个 SARIF 文件,这些文件可能是使用不同受支持工具生成的。
srcdir被扫描以生成待处理的 CQ 结果的原始源代码的位置。
outdir脱敏后的源文件将要存储的位置。
placeholder用于替换所有检测到的秘密的占位符。它可以接受以下替换:
- ${tool} 用于检测秘密的工具名称
- ${rule} 用于检测秘密的规则名称
- ${regex} 与用于检测秘密的规则关联的正则表达式
- ${yaml} 一个 YAML 流式结构,包含(如果已知)仅用于检测秘密的工具和规则的名称
- ${yaml_regex} 一个 YAML 流式结构,包含(如果已知)用于检测秘密的工具、规则名称以及正则表达式
process-archives一个用于指示的开关
report将要生成的 CSV 报告的位置和名称,其中包含已脱敏秘密的详细信息。
report-encryption如果生成报告文件,则要使用的加密方法。可能的值:none、zip-aes256。默认值:zip-aes256
log-level用于工具输出的日志级别。可能的值:critical、fatal、error、warning、info、debug。默认值:info
参数定义
analyse-with一个以逗号分隔的要调用工具的列表。它可以包含以下任何工具:trivy、gitleaks、ccs、cq、bindetect
srcdir被扫描以生成待处理的 CQ 结果的原始源代码的位置。
outdir脱敏后的源文件将要存储的位置。
placeholder用于替换所有检测到的秘密的占位符。它可以接受以下替换:
- ${tool} 用于检测秘密的工具名称
- ${rule} 用于检测秘密的规则名称
- ${regex} 与用于检测秘密的规则关联的正则表达式
- ${yaml} 一个 YAML 流式结构,包含(如果已知)仅用于检测秘密的工具和规则的名称
- ${yaml_regex} 一个 YAML 流式结构,包含(如果已知)用于检测秘密的工具、规则名称以及正则表达式
report将要生成的 CSV 报告的位置和名称,其中包含已脱敏秘密的详细信息。
report-encryption如果生成报告文件,则要使用的加密方法。可能的值:none、zip-aes256。默认值:zip-aes256
log-level用于工具输出的日志级别。可能的值:critical、fatal、error、warning、info、debug。默认值:info
工具备注
Trivy必须安装 trivy 命令并确保其在 PATH 中可访问。
GitLeaks必须安装 gitleaks 命令并确保其在 PATH 中可访问。
ccsccs.py 文件必须位于包含 secretscrub.py 文件的目录中名为 ccs 的子目录内。
cqcq.py 和 fn.py 文件必须位于包含 secretscrub.py 文件的目录中名为 cq 的子目录内。
bindetect目前它随 secretscrub 一起提供,无需进一步安装。