核心功能
Secret Scanner 是一款专注于代码安全的静态分析工具,通过正则表达式与熵值分析技术,在本地环境中对源代码、配置文件及文档进行深度扫描,检测意外泄露的各类敏感凭证。
显著优点:
- 覆盖全面:支持 AWS、Azure、GCP 等主流云平台,OpenAI、Anthropic 等 AI 服务,以及 GitHub、Slack、Stripe 等 40+ 类密钥模式识别
- 智能分级:采用四级 severity(Critical/High/Medium/Low)体系,优先标记生产环境凭证与私钥
- 零依赖运行:纯 Python 标准库实现,无需额外安装,开箱即用
- 工程友好:自动过滤 node_modules、.git 等噪声路径,支持 Markdown/JSON 双格式输出,便于 CI/CD 集成
潜在局限:
- 基于模式匹配的检测存在固有误报率,"password=example" 等合法配置可能被标记
- 熵值启发式算法对短密钥或自定义格式识别能力有限
- 无法检测已混淆、加密或动态生成的凭证
- 不具备主动验证密钥有效性的能力,无法区分测试/生产密钥
适合人群:
- 开发者在代码提交前进行预检(pre-commit 场景)
- 安全团队执行开源项目合规审计
- DevOps 工程师构建 CI/CD 安全门禁
- 个人开发者清理历史仓库中的敏感残留
常规风险:
- 扫描行为本身不触发网络请求,但若误将真实密钥传入参数存在泄露风险
- 扫描报告含敏感内容,输出文件需妥善保管
- 对于已泄露至 GitHub 的密钥,扫描发现后应立即轮换而非仅删除代码
运行示例:python secret_scanner.py /path/to/project --output report.md