代码落地前安全门审查

作者:鹿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`:结构化检查清单

如何安装此技能?

访问技能市场,点击「安装」按钮,按提示将技能包放入 AI 编程助手的 skills 目录即可。

浏览技能市场

支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手