代
代码落地前安全门审查
作者:鹿Sir开发工具v1
面向代码合入前的门禁式安全审查,用结构化清单做两轮严重度分级(阻断级 CRITICAL 与提示级 INFORMATIONAL),给出「可合入 / 已阻断」门禁结论。当用户要求落地前检查、安全审计、合入前审查、门禁检查、"能否安全合入"、跑一遍检查清单时触发;常规代码质量评审不触发本技能。
下载量
402
点赞
98
价格
免费
技能文档
--- name: mathews-tom-pre-landing-review title: 代码落地前安全门审查 description: 面向代码合入前的门禁式安全审查,用结构化清单做两轮严重度分级(阻断级 CRITICAL 与提示级 INFORMATIONAL),给出「可合入 / 已阻断」门禁结论。当用户要求落地前检查、安全审计、合入前审查、门禁检查、"能否安全合入"、跑一遍检查清单时触发;常规代码质量评审不触发本技能。 category: 开发工具 --- # 代码落地前安全门审查 面向代码变更合入前的门禁式安全审计:结构化清单 + 两轮严重度分级 + 阻断/非阻断分类。 **与常规代码评审的区别**:常规评审是多维度代码质量审查;本技能是**门禁式安全审计**——基于外部清单做两轮分级,并给出阻断性结论。 ## 技能工作流 ### 步骤1:确定审查范围 识别待审查的变更: - 在功能分支上:对默认分支做 diff(`git symbolic-ref refs/remotes/origin/HEAD`) - 给了 PR 号:拉取该 PR 的 diff - 给了具体文件:审查这些文件 ### 步骤2:加载检查清单 读取 [references/checklist.md](references/checklist.md)。此步必需——清单不可读时立即停止并报告错误。 ### 步骤3:第一轮 —— 阻断级(CRITICAL) 对照关键安全类别审查 diff,这些是潜在的合入阻断项: **SQL 与数据安全** - 未参数化的裸 SQL - 无迁移安全措施的表结构变更(锁超时、可回滚性) - 未核验 WHERE 条件的批量更新/删除 - 绕过模型校验/回调直接改列 **竞态与并发** - 无锁的先读后写 - 仅靠应用层、无数据库级约束的唯一性依赖 - 无同步的共享可变状态 - 队列/后台任务的幂等性 **信任边界** - 模型/AI 输出未经净化就进入 SQL、shell 命令或渲染 HTML - 用户输入未校验就触达特权操作 - 外部 API 响应未做结构校验就使用 - 反序列化不可信数据 每个 CRITICAL 发现: 1. 引用精确的文件与行号 2. 说明具体风险 3. 向用户提问,提供恰好三个选项:**立即修复** / **知晓风险** / **误报** 4. 选「立即修复」:完成修复后复查 5. 选「知晓风险」:记录确认,继续 6. 选「误报」:记录,继续 ### 步骤4:第二轮 —— 提示级(INFORMATIONAL) 对照其余类别审查: - **条件分支副作用** —— 藏在条件分支里的副作用、状态变化触发的回调、静默吞掉失败的错误处理 - **魔法数字** —— 无解释的数字字面量、未提取为常量的硬编码阈值、无理由的超时值 - **死代码** —— 不可达分支、未使用的导入、无说明的注释代码 - **测试缺口** —— 新代码路径无测试、行为修改未更新测试、缺边界与错误路径测试 - **加密与熵源** —— 安全场景使用弱随机源、硬编码密钥、敏感传输数据缺 TLS/加密 - **时间窗口安全** —— 无时区意识的时间比较、夏令时边界、未考虑时钟偏移的 cron 表达式 - **类型强转** —— 可能丢数据的隐式类型转换、跨边界的数值精度损失、I/O 边界的隐式字符串编码 全部提示级发现汇总为一张表格呈现(文件、行号、类别、描述)。 ### 步骤5:门禁结论 - 第一轮问题全部解决(已修复或已确认)→ **可合入(CLEAR TO LAND)** - 存在未解决的第一轮问题 → **已阻断(BLOCKED)** - 第二轮问题仅供参考,不阻断合入 ### 步骤6:豁免项 以下情形不做标记: - 使用测试夹具/工厂的测试文件 - 遵循框架约定的迁移文件 - 有内联注释说明「该写法是有意的」的代码 - 值有文档说明的配置文件 - 类型存根或接口定义 ## 输出格式 门禁结论(可合入 / 已阻断)+ 阻断级问题摘要(含处置状态)+ 提示级发现表格。 **本技能默认只读** —— 仅当用户对阻断级问题明确选择「立即修复」时才修改代码。
使用说明
# 代码落地前安全门审查 代码合入前的门禁式安全审计:结构化清单 + 两轮严重度分级 + 阻断/非阻断结论。 ## 能做什么 - 第一轮阻断级审查:SQL 与数据安全、竞态与并发、信任边界 - 第二轮提示级审查:副作用、魔法数字、死代码、测试缺口、加密熵源、时间窗口、类型强转 - 每个 CRITICAL 发现给出「立即修复 / 知晓风险 / 误报」三选一处置 - 明确门禁结论:可合入(CLEAR TO LAND)/ 已阻断(BLOCKED) - 默认只读,仅按用户选择修复 ## 何时使用 - 合入前安全检查、「这个分支能合吗」 - 合并前的门禁检查 - 注意:常规代码质量评审请用代码评审流程,不是本技能 ## 快速上手 ```text 合并前给我的分支跑一遍落地前安全审查 ``` ```text 这个改动安全吗?帮我检查数据安全和竞态问题 ``` ## 目录结构 - `SKILL.md`:审查工作流 - `references/checklist.md`:结构化检查清单
支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手