trufflehog
TruffleHog 是一款用于检测代码库中敏感信息(如 API 密钥、密码等)的工具,支持多种使用场景。
核心功能:
- 敏感信息扫描:通过正则表达式、JWT 验证、Canary Token 检测等方式,识别代码中的泄露凭证。
- 多平台支持:提供命令行工具、GitHub Action、GitLab CI、pre-commit 钩子等集成方式,支持 HuggingFace、AWS、Google Cloud 等平台的凭证分析。
- 自定义检测:允许用户通过正则表达式定义自定义检测规则,并通过 Webhook 实现验证逻辑。
使用方法:
- 命令行:扫描本地文件(如
trufflehog filesystem path)、GitHub 仓库(如trufflehog github)、S3 存储桶(如trufflehog s3 --bucket)等。 - GitHub Action:通过
extra_args配置扫描范围和结果输出,支持 PR 和 Push 事件触发。 - GitLab CI:通过脚本安装并集成到流水线中,扫描指定路径。
- Pre-commit 钩子:阻止包含敏感信息的代码提交。
主要特性:
- 支持 HMAC 和公钥加密 JWT 的有效性验证。
- 提供深度分析功能(
trufflehog analyze),查看凭证权限和访问资源。 - 支持多角色 S3 权限扫描,通过
--role-arn指定 IAM 角色。 - 从 v3.0 开始采用 AGPL 3.0 许可证,保留与 v2 的 CLI 兼容性。
注意事项:
- 自定义检测功能为实验性(alpha),可能变更。
- 扫描范围可通过
--results参数过滤(如verified,unknown)。