关于 secret-leak-detector
用于扫描源代码和配置文件中硬编码机密信息的本地技能,适合开发者和仓库审计。它也可检查 Git 历史,并在结果中遮蔽机密片段。
主要功能
- 01扫描文件中的凭据和令牌
- 02检查 Git 历史中的已删除机密
- 03报告文件、行号、类型和风险
- 04遮蔽结果中的机密片段
- 05本地运行,不上传代码
适用场景
- 01提交前检查变更
- 02在 CI/CD 流水线中拦截机密
- 03审计 Git 历史中的泄漏
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jorgealves/ agent_skills --skill secret-leak-detector安装后在 Claude Code 中输入/secret-leak-detector确认已加载。
附带文件skill.yaml
详细介绍
秘密泄露检测器
用途和意图
secret-leak-detector 旨在保护代码仓库,识别硬编码的敏感信息,例如 API 密钥、数据库凭据和身份验证令牌,既可在提交前检测,也可在意外推送到历史记录后检测。
适用场景
- 提交前检查:在提交更改前运行此技能,确保没有引入机密信息。
- CI/CD 流水线:将其集成到自动化流水线中,阻止包含明文机密信息的构建。
- 旧项目审计:使用
scan_history: true深度审计项目的全部历史记录,查找已删除但仍存在于 git 日志中的机密信息。
不适用场景
- 生产日志:此工具适用于源代码和配置文件,不适合扫描数 TB 的运行时日志。
- 二进制文件:此工具无法有效检测编译后的二进制文件或加密数据块中的机密信息。
输入和输出示例
输入
directory_path: "./config"
scan_history: false
输出
{
"leaks": [
{
"file": "config/production.yaml",
"line": 45,
"type": "Stripe Secret Key",
"risk_level": "critical",
"snippet": "sk_live_**********"
}
]
}
错误情况和边缘案例
- 误报:测试数据中的高熵字符串或加密哈希可能会被标记为机密信息。
- 需要 Git 仓库:如果
scan_history为 true,目标目录必须是有效的 git 仓库。 - 权限不足:如果此技能没有特定文件或
.git目录的读取权限,就会运行失败。
安全和数据处理注意事项
- 不持久化:此技能不会存储检测到的机密信息。
- 屏蔽:输出片段会经过屏蔽处理,以防此工具本身成为日志或终端历史记录中的泄露源。
- 本地运行:此技能在本地运行,不会向外部发送数据,也不会将代码上传到第三方服务。
评论
支持 Markdown