Secret Scanner 是一个安全检测技能,用于在代码库中防止敏感信息意外暴露。它在以下情况激活:git 提交前、文件被修改或保存时、用户提及密钥或凭据时、.env 文件变更时、配置文件被修改时。
主要检测范围包括:API Key 与令牌(AWS 访问密钥、Stripe API Key、GitHub 令牌、Google API Key、OAuth 令牌、JWT 密钥);数据库凭据(连接字符串、MySQL/PostgreSQL 密码、MongoDB 连接 URI、Redis 密码);私钥(SSH 私钥、RSA/DSA 密钥、PGP/GPG 密钥、SSL 证书);认证密钥(密码变量、认证令牌、会话密钥、加密密钥)。
检测按置信度分级:高置信度包括已知 API Key 格式、私钥头、JWT 令牌、含凭据的连接字符串;中置信度包括命名为 password、secret、key 的变量、敏感上下文中的 Base64 字符串、赋值中的长随机字符串;低置信度包括通用密钥模式、注释中的潜在凭据,会标记待审查。
在 Git 集成方面,提交前扫描若发现密钥会阻止提交并列出位置;同时校验敏感文件是否在 .gitignore 中。它也能识别示例文件、测试文件和文档中的示例,降低误报。
修复建议包括改用环境变量、使用密钥管理服务(如 AWS Secrets Manager)、在配置文件中引用 .env 变量。若密钥已提交,建议立即轮换、从 git 历史移除并强制推送、更新所有部署。
该技能无需沙箱也可运行,文件系统为只读访问,无需网络和额外配置。可通过复制技能目录并编辑 SKILL.md 添加公司特定的密钥格式和检测规则。它与 security-auditor 技能互补:前者发现硬编码密钥,后者发现密钥的不安全使用方式。
限制:资料未提供具体支持的编程语言范围、检测规则总数、误报率数据或与其他工具的集成细节。