Secrets Scan 是 OWASP secure-agent-playbook 中的一个安全检测技能,专注于发现源代码和配置文件中硬编码的凭据、API 密钥、令牌和密钥。其完整流程记录在 plays/secrets-scan.md 中。
用途 该技能用于在代码审查中排查泄露的密钥,帮助识别硬编码的敏感信息并评估其风险。
主要能力
- 自动化扫描:按优先级使用可用工具,推荐顺序为 trufflehog filesystem --directory=<path> --json、trufflehog git file://<repo> --json(包含 git 历史)、gitleaks detect --source=<path> --report-format=json、detect-secrets scan <path> --all-files。若无可用扫描器,则进行手动模式分析。
- 手动模式分析:搜索高置信度模式,包括 AWS 密钥(AKIA...)、OpenAI(sk-...)、Anthropic(sk-ant-...)、GitHub(ghp_...)、Slack(xoxb-...)、Stripe(sk_live_...)、SendGrid(SG.);含内嵌密码的连接字符串(://user:pass@host);私钥(PEM 头)、JWT 密钥、数据库凭据。高风险文件包括 .env、docker-compose*.yml、*.tfvars、terraform.tfstate、kubeconfig、.npmrc、.pypirc。
- 上下文分析:对每个检测结果判断是否为真实密钥(而非占位符或测试夹具)、是否有效、影响范围(服务、权限、生产还是开发、暴露时长)。
- 检查预防性控制:验证 .gitignore 是否覆盖敏感文件、是否有用于密钥扫描的 pre-commit 钩子、CI 流水线扫描、密钥管理文档。
使用方式 按照 plays/secrets-scan.md 中的完整流程执行:先运行自动化扫描器,无工具时进行手动模式分析,然后对每个检测结果做上下文分析,最后检查预防性控制。重要提示:绝不在发现项中包含真实密钥值,只展示脱敏版本(例如 AKIA****EXAMPLE)。活跃的生产密钥需要立即轮换。
输出 扫描摘要、使用 templates/finding.md 记录的发现项、预防性控制清单,以及必要时立即轮换的操作。
适用场景 适用于代码审查、安全审计、CI 流水线集成等需要排查泄露密钥的场景。
限制 资料未提供关于支持平台、性能指标或收费模式的更多信息。
OWASP 参考 A07:2021:识别和认证失败;CWE-798:使用硬编码凭据;CWE-312:敏感信息明文存储。