
2 分钟上手 TruffleHog如何快速扫描代码库里的凭证泄漏【免费下载链接】trufflehogFind, verify, and analyze leaked credentials项目地址: https://gitcode.com/GitHub_Trending/tr/trufflehog一次真实的凭证泄露场景凌晨的告警一段生产库连接串躺在公开的提交历史里。事后删掉文件也没用旧提交里照样能把它翻出来。手工 grep 只能查最新代码查不了历史而一次误提交可能就让 API 密钥暴露给全网爬虫。TruffleHog 就是为这种场景做的凭证检测工具它在 Git 仓库、云存储、Docker 镜像等来源中扫描 API 密钥、令牌、密码还能调用对应服务的接口验证密钥是否真的有效。安装 TruffleHog 并跑通第一条扫描命令三步完成安装git clone https://gitcode.com/GitHub_Trending/tr/trufflehog cd trufflehog ./scripts/install.sh -b /usr/local/bin安装脚本会下载与当前平台匹配的预编译二进制并校验 SHA256-b参数指定安装目录不传则默认装到./bin。扫当前目录只需一行trufflehog filesystem .。远程仓库则用trufflehog git 仓库URL。另外在终端里直接运行trufflehog会进入交互式 TUI 界面可以直接在界面里选择数据源和参数后发起扫描。它能扫什么多数据源、密钥验证与性能多数据源内置git、github、gitlab、filesystem、s3、gcs、docker、syslog等子命令扫单个仓库、整个组织、云存储桶或镜像都行。不只是匹配检测到候选密钥后可调用服务方接口验证结果分为 verified、unknown、unverified 三态帮你判断哪些密钥真的能用。可按需裁剪--no-verification跳过验证加快扫描--include-detectors/--exclude-detectors挑选检测器--json输出机器可读结果。性能稳定仓库在hack/bench下提供跨版本基准脚本对比图如下各版本的扫描耗时保持平稳。实战扫描本地目录并解读输出假设你怀疑项目目录里混入了配置文件密钥先执行trufflehog filesystem ./config。每条命中的输出会标注检测器类型匹配到哪类凭证比如 aws、命中的密钥敏感部分脱敏、所在文件与行号以及验证状态。扫描结束后stderr 会打印汇总扫描的 chunk 数、字节数、verified_secrets、unverified_secrets 和总耗时。看到 verified 状态就说明密钥仍然可用第一步是立刻轮换再检查仓库是否已经公开。命令行里还可以加--fail一旦有命中就以退出码 183 结束方便串联其他工具。配置自定义检测器 config.yaml 的关键字段内置检测器已覆盖数百种服务。若要扫内部凭证在config.yaml里加一条规则即可detectors: - name: HogTokenDetector keywords: [hog] regex: token: [^A-Za-z0-9/]{0,1}([A-Za-z0-9/]{40})[^A-Za-z0-9/]{0,1}关键字段含义keywords是触发词命中任意一个才执行正则regex是命名模式捕获组内的内容会被提取为密钥上报可选的verify段可指向你自己的验证端点用响应状态码判断密钥有效还是已轮换。运行方式trufflehog filesystem 目录 --configconfig.yaml。熵阈值、排除词等更多过滤参数见自定义检测器说明仓库还附带了现成模板 examples/generic.yml。接入 CI/CD 与定期扫描的落地做法提交前拦截工具能识别 pre-commit/pre-receive 钩子场景git 源可用--bare扫裸仓库在钩子模式下自动收窄结果并让命中直接阻断提交。CI 流水线在扫描步骤追加--json --fail退出码 183 会让流水线直接标红--github-actions或--sarif输出可直接对接代码扫描平台。定期扫描用 cron 周期性执行trufflehog git 仓库URL配合--since-commit只扫增量提交降低每次的耗时。常见疑问它只扫最新代码吗不是。git 数据源会遍历提交历史旧提交里被删掉的密钥同样能被发现用--max-depth或--since-commit控制扫描范围即可。unverified 的命中可以忽略吗unverified 只表示未能确认有效性不代表安全。默认输出包含 verified、unverified、unknown 三类只想要已确认有效的结果可传--results verified。验证会不会请求过多验证会调用各服务 API命中量大时可用--concurrency降低并发或先加--no-verification只做检测之后单独验证。下一步今天就对主项目目录跑一次trufflehog filesystem .确认当前状态。想深入了解扫描流程可以看 docs/process_flow.md想给仓库贡献新的检测器可参考 CONTRIBUTING.md。【免费下载链接】trufflehogFind, verify, and analyze leaked credentials项目地址: https://gitcode.com/GitHub_Trending/tr/trufflehog创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考