用途:安全提交前的综合安全验证,防止把密钥、漏洞或安全问题提交进仓库。该技能被标记为强制技能,由 safe-commit 自动调用,资料明确要求不要在提交前手动运行安全扫描,而应使用 safe-commit 触发。
主要能力:检查常见密钥模式(api_key、password、secret、token、bearer)、私钥与数据库凭据,并核对 .env、credentials.json、secrets.yaml、.pem、.key 等文件是否被 .gitignore 覆盖;检测项目类型后运行依赖审计,如 Node.js 用 npm audit --audit-level=moderate,Go 用 nancy sleuth,Python 用 pip-audit 或 safety check,Rust 用 cargo audit;扫描 SQL 注入、命令注入、XSS 等代码模式;检查硬编码凭据、弱加密(md5、sha1、DES、ECB)和不安全随机数;检查调试日志与安全相关 TODO 注释。
使用方式:正常由 safe-commit(提交前)和 create-pr(创建 PR 前)调用。资料允许手动扫描的场景包括:提交流程之外新增依赖时、开发中修改认证/安全代码后、用户明确要求安全审查时。
限制与处理:发现待提交文件中的真实密钥应停止提交;HIGH 或 CRITICAL 漏洞应停止,MEDIUM/LOW 需用户确认;可疑注入模式需人工复核。资料提示存在误报场景(测试夹具、占位值、变量名含 password 等),需核对上下文。若用户明确声明已审查并批准安全发现,可记录批准并在提交信息中列明,同时建议创建后续修复工单。资料未提供安装命令、价格或平台信息。