TruffleHog 是什么?
TruffleHog 是一款功能强大的开源扫描器,旨在查找深埋在 Git 存储库历史记录中的泄露机密。它的工作原理是逐个分支扫描整个提交历史,并检查每个提交中是否含有机密。它使用熵检查和正则表达式来检测可能被意外提交的潜在敏感数据,如 API 密钥、私钥和其他凭据。这种主动的方法可以帮助组织在机密被恶意行为者利用之前找到并修复它们。
主要功能
- 深度历史扫描: 与许多只扫描文件当前状态的工具不同,TruffleHog 会深入挖掘整个 git 历史,包括旧的和已删除的提交。
- 高信噪比检测: 它使用超过 700 个凭据检测器来查找 AWS、GCP、GitHub 等流行服务的机密。
- 多源扫描: TruffleHog 不仅可以扫描 Git 存储库,还可以扫描 S3 存储桶、文件系统、Docker 镜像和其他数据源。
- 可自定义检测器: 用户可以定义自己的正则表达式来搜索特定模式或内部机密格式。
- 灵活的输出: 结果可以以 JSON 格式输出,便于与其他安全工具和工作流集成。
- 低噪音: 它包含验证功能,可以检查找到的凭据是否仍然有效,从而显著减少误报。
使用案例
- 安全审计: 定期扫描所有公司存储库,确保代码历史中没有暴露任何活动机密。
- CI/CD 集成: 将 TruffleHog 集成到您的持续集成管道中,以防止新的机密被合并到主分支。
- 事件响应: 在安全事件期间,使用 TruffleHog 快速确定是否有任何凭据在特定存储库中泄露。
- 尽职调查: 在集成第三方或新收购的代码库之前,扫描其中隐藏的安全风险。
入门指南
开始使用 TruffleHog 非常简单。您可以直接从命令行针对公共或本地 Git 存储库运行它。
首先,安装 TruffleHog。在 macOS 上,您可以使用 Homebrew: ```bash brew install trufflehog
对于其他系统,您可以使用 pip 或下载二进制文件。
要扫描 GitHub 存储库,请使用以下命令: ```bash trufflehog git https://github.com/trufflesecurity/test_keys.git
此命令将克隆存储库并扫描其整个历史记录以查找机密。任何发现都将打印到控制台。
定价
TruffleHog 是一款开源工具,在 AGPL-3.0 许可下免费使用。其背后的公司 Truffle Security 还提供付费的企业版,具有额外的功能,如集中式仪表板、自动修复工作流和企业级支持。