用途:Prevention Layer 是一个 Git diff 审计器,只审查变更内容(staged、提交区间或 patch 文件),不扫描整个代码库,目标是在 commit、push 或 merge 前发现安全、数据丢失和依赖风险。
主要能力:按风险矩阵分类。安全类检测硬编码令牌、含真实值的 .env、私钥、代码中的密码、secret 的 console.log、证书、带凭据的 URL;数据类检测无 where 的 deleteMany()、DROP TABLE、TRUNCATE、无备份的破坏性迁移、脚本中的 rm -rf、无过滤的批量 updateMany;依赖类检测引入已知 CVE 版本、未审计的新库、手动修改 package-lock.json/yarn.lock/Cargo.lock 及可疑供应链。critical 或 high 风险默认阻断,无 warn-only 或绕过模式。
使用方式:五步协议。1) 提取 diff:bash tools/get-diff.sh [--staged | --range A..B | --head N],默认 --staged,输出 diff.yml;2) 正则检测:bash tools/analyze-risks.sh <diff.yml>,生成 risks-preliminary.yml;3) LLM 语义复核,减少误报;4) 严重度门禁:bash tools/severity-gate.sh <risks-reviewed.yml>,输出 gate.yml;5) 按 references/output-schema.yml 生成最终 YAML,含 actions_required[]。
适用场景:pre-commit、pre-push、PR Review/CI Gate、手动请求“提交前检查我的改动”。
限制:仅评估 diff 变更,不覆盖全库;阻断规则不可协商;最终报告需严格符合输出 schema;具体安装方式与平台支持暂未提供。