Back to skills
SKILL.md
Adversarial Review
ASecurity对同一阶段、同一真值基线、同一对象只运行一次开放式对抗评审。触发时实时探测本机 Claude Code、Cursor Agent、Codex 三种桥接和账户模型,让用户选择至少一个实际可用的非 Fast 模型;评审者独立只读调查,当前主线程逐条裁决。整改后转 closed-remediation-review 封闭验收。触发:对抗评审、克劳德评审。
- 6 stars
- 0 votes
- 0 copies
- 4 views
- Added September 5, 2026
Works with
Security analysis
100/100Pro scans all 6 files and shows the line behind each finding
npx -y skills add BackToCimaCoppi/Praxis --skill adversarial-review --agent claude-codeAre you the author of Adversarial Review?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/backtocimacoppi-adversarial-review)---
name: adversarial-review
description: 对同一阶段、同一真值基线、同一对象只运行一次开放式对抗评审。触发时实时探测本机 Claude Code、Cursor Agent、Codex 三种桥接和账户模型,让用户选择至少一个实际可用的非 Fast 模型;评审者独立只读调查,当前主线程逐条裁决。整改后转 closed-remediation-review 封闭验收。触发:对抗评审、克劳德评审。
---
# 对抗评审
## 0. 硬边界
1. 同一 `review_id + object_hash + truth_baseline_hash` 只开放一次,不自动开 R2/R3。对象或正式真值根本变化才可登记新身份。
2. 每个实际选择的评审者都在授权项目根内独立只读调查,使用同一冻结对象与基线,不读其他人的结果。
3. 当前主线程合并、核证和逐条裁决;评审者不代替用户选择新业务语义,不另设裁判模型。
4. 评审报告是过程证据,正式 L1–L7 和授权裁决才是规格真值。
5. 所有模型与运行参数禁用 Fast;不使用 Auto 或不明模型作为实际身份。
## 1. 触发时的桥接与模型选择
每次触发都从本 skill 目录运行 `python3 scripts/discover_bridges.py`。脚本仅报告三个 CLI 是否安装、是否登录、当前账户可见的模型 ID/名称和失败原因;不得把本机上一次的模型列表当作下一个用户的可用列表。读取脚本 JSON 后:
1. 对不可用桥接明确说明未安装、未登录或查询失败;其他可用桥接照常提供。
2. 按桥接展示模型标识和名称。可先筛出名称或描述中显示高推理能力的几个候选,提供完整清单的查询路径;候选筛选不能伪装成账户限制,也不能写死具体型号。
3. 请用户选择**至少一个**“桥接 + 模型标识”;Codex 另选该模型实际支持的推理档。允许同一桥接选多个模型。若只有一个可用或用户只选一个,照样执行独立评审并给单模型发现报告;不得假造“对抗双方”、共识或排名。
4. 用户选择后再次核对所选 ID 仍在本轮实时清单里。缺失、认证过期或模型已下架时告知用户并重选,禁止自行替换。
5. 未收到选择时不启动评审。仅在用户已经提供本轮精确桥接/模型且核验通过时,直接继续。
发现脚本不输出账号、令牌或认证缓存。模型清单只证明可见,实际调用失败时按 §8 处理。
## 2. 总体流程
~~~text
实时探测三个桥接 → 用户选择一个或多个桥接/模型 → 冻结评审身份与证据包
→ 所有已选模型同时独立只读评审 → 当前主线程合并与逐条裁决
→ 需要业务选择时请授权角色逐项裁决 → 多模型才点评排名
→ 按采纳项整改 → closed-remediation-review 固定范围验收 → PASS
~~~
## 3. 证据包
复杂场景同时读取 references/证据包制作规范.md;本节是强制最小集。
### 3.1 冻结内容
- review_id / object_hash / truth_baseline_hash。
- 评审对象:短小、临时或评审通道不可直接访问时内嵌全文;同一工作区内的大对象给绝对路径、哈希和精确范围,禁止摘要替代。
- 正式真值基线:适用的 L1–L7、冻结规格、工程红线和任务边界。
- 已决策·不得重开区:每项必须引用正式规格或 DEC-x;没有证据不得放入。
- 本次口径卡:设计、测试用例、章程或代码评审口径。
- 授权项目根 `REVIEW_ROOT`:默认解析为被评审对象所在 Git 工作树根;非 Git 项目才用用户明确授权的项目根。不得为了少给上下文而降成对象目录。
- 起始导航,以及明确的禁止读取项、禁止动作、输出格式和严重度预算。
**钉对象,不钉视野;读得宽,评得窄**:全部已选评审者必须评同一对象、同一真值基线和同一口径,但必须各自在 `REVIEW_ROOT` 内做独立勘察。证据包是冻结核心与调查种子,不是穷举白名单;各方实际发现路径可以不同。补读结论要给精确位置,调查得到的背景只能用于判断冻结对象,不能重开已决策项或改评整个项目。
**证据包本身也要受审**:评审者必须核验起始材料是否遗漏冲突真值、关键生产者/消费者或已经失效;发现缺口时用事实报告,不能默认制包方天然完整。
### 3.2 路径与临时目录
- 报告路径必须先解析为绝对路径,且位于用户授权的任务目录。
- 临时目录每轮用独立 mktemp -d,不得使用全局固定文件名。
- 记录评审前工作树快照;全部已选评审者完成后核验目标文件和工作树没有被它们修改。
- 原始 各实际评审者输出保留到报告验收完成,随后可清理临时目录。
## 4. 全部评审者共用指令
证据包末尾必须加入以下语义,各评审者仅替换角色名:
~~~text
你是独立评审者,不是设计者、裁判或施工者。
开工顺序(强制):
1. 读完冻结对象、真值基线和起始导航;
2. 在授权项目根内亲自做一次独立只读勘察,不得只凭证据包清单作答;
3. 按任务相关性检索同一概念、业务标识、状态与错误码,核对正式规格、生产者、消费者、测试、配置/迁移/运行手册;
4. 把证据包完整性也当作待核验声明;继续检索已不再改变本次口径内结论后再收口。
只做:
1. 找能被文本、代码或正式规格证明的问题;
2. 给出具体失败场景、违反的真值锚点、影响和最小候选方向;
3. 明确区分“事实冲突”“规格缺口”“实现风险”“可选优化”。
禁止:
- 修改任何文件;
- 读取另一名评审者的输出;
- 读取本地环境文件(`.env`、`.env.local`、`.env.*.local`;无真实凭据的已跟踪模板除外)、私钥、密钥库、凭据/令牌存储、认证缓存或主线程的预期答案/裁决草稿;
- 执行测试、构建、迁移、服务或有副作用的命令;联网、Web 搜索、MCP、数据库/云资源等外部系统访问;派生子 agent;
- 批判带正式来源或 DEC-x 的“已决策·不得重开”项本身;
- 把候选方案写成用户已经批准;
- 因理论上可能而升级阻断;
- 建议给下游新增审批、人工门或重复评审;
- 超出本次口径重新设计整个系统。
严重度预算:
- 阻断级原则上 0–3 条;超过时必须逐条证明不是同一根因。
- 每条阻断级必须回答:具体失败场景是什么、违反哪份冻结真值、为什么不能在施工中确定性自愈。
- 没有阻断问题是有效结论,不得凑数。
先输出精简调查账:冻结核心已读项 / 自主发现的关键文件与检索主题 /
反证或负向检查与实际覆盖边界 / 未能访问、主动排除或仍缺失的信息。
无需罗列每个读过的文件,但必须证明做过证据包外的独立发现。
若授权范围内的关键材料因通道能力无法访问,输出 INFO-GAP(精确路径或信息、尝试方式、对结论的影响),不要猜测。
随后每条发现包含:
临时编号 / 严重度 / 类型 / 事实证据 / 失败场景 / 真值锚点 /
是否涉及新业务选择 / 候选方向 / 来源文件位置。
~~~
口径卡优先使用:
- references/profiles/设计评审.md
- references/profiles/用例评审.md
- references/profiles/章程评审.md
## 5. 桥接执行与安全边界
所有已选模型用全新会话、独立 prompt/output/log 文件,从同一个 `REVIEW_ROOT` 启动;能并行时同时运行。先保存目标和工作树快照,完成后核查。调用记录须保留精确 CLI 参数、退出状态、实际模型标识和调查账,但不得保存凭据。Claude 别名须记录用户所选别名与本次 CLI 实际报告的模型名称;若无法辨认实际模型,不能伪称精确版本。只给读取权限,显式禁止文件修改、联网、执行测试、外部系统访问与派生 Agent;工具权限不能保证时终止该桥接。
- **Claude Code**:`claude -p --model <用户所选ID> --permission-mode dontAsk --allowedTools Read,Grep,Glob,LS --disallowedTools Edit,Write,MultiEdit,Bash --no-session-persistence`,从 `REVIEW_ROOT` 输入冻结 prompt。不得启用 fast mode;先核对本机 CLI 支持的只读参数。
- **Cursor Agent**:用 `scripts/cursor-review-runner.sh --action review --workspace <REVIEW_ROOT> --prompt-file <独立文件> --model <用户所选ID> --output-file <独立文件> --log-file <独立文件> --status-file <独立文件>`。固定 Ask 模式和沙箱;不得传 `--force`、`--yolo`、`--auto-review`。若本机 Ask 模式仍可能写工作区,停止该桥接。
- **Codex**:`codex exec -m <用户所选ID> -c 'model_reasoning_effort="<已选档>"' -c 'approval_policy="never"' -s read-only -C <REVIEW_ROOT> --skip-git-repo-check --ephemeral -o <独立输出文件> -`。不得启用 Fast 服务档;不能用危险绕过参数。
若 CLI 参数在用户机器上不同,以本机 `--help` 和只读边界为准调整,再把实际参数记录到报告。无法确认只读时不得启动。每份输出须检查退出状态、非空结果与独立调查账。用户选择的模型失败可在相同身份、相同冻结包下重试一次;仍失败则暂停并让用户重新选择,不能把缺席模型记成已完成。
## 6. 主线程直接裁决
全部已选意见收齐后,**当前主线程**完成以下工作,不调用任何裁判模型:
1. 建立 实际参与者临时编号到统一 AR-x 的映射,合并同根问题,但保留来源。
2. 对每条意见核验证据、口径和真值锚点。
3. 对初判驳回项写出“若要成立所需前提”,检查该前提是否有证据;无证据维持驳回。
4. 从处置矩阵四选一,禁止含糊的“部分采纳”:
| 裁决 | 条件 | 后果 |
|---|---|---|
| ❌ 驳回 | 不成立、无证据、越口径、重开已决策 | 不改,记录理由 |
| ✅ 桶1采纳 | 成立,且现在存在唯一、确定、不改变未决业务语义的修法 | 本轮主线程改好 |
| 🔧 桶2采纳 | 成立,但只能在施工时按冻结规格确定性处理 | 写入 _shared/自愈清单.md,不膨胀设计 |
| 🚨 升级用户 | 需要在多个业务结果间选择,或改变死亡线、对外契约、持久化语义、不可逆处置 | 合并后一次询问 |
5. 需要业务决策负责人裁决时,将互相独立的问题逐行列出,给出互斥选项和影响;**每行必须标注「是否改变业务结果」**。改变业务结果的问题**禁止与加固/修辞/低风险项打包为同一个"推荐选项"一键接受**——必须单独成行、单独作答。授权角色答复后每项单独生成 DEC-x,保存原话或明确选项、日期、来源、实际角色和适用范围。
6. 生成固定整改清单:只含采纳的 AR-x、对应 DEC-x、允许修改范围和预期落点。
主线程可以判断意见是否违背既有语义,但不能替用户选择新语义;不得折中创造第三方案。
### 6.1 裁决后的模型点评与排名
全部 AR-x 完成裁决后,若至少两个模型参与,由**同一个当前主线程**对全部实际参与的“模型 + 通道”做简短点评和确定次序的任务内排名。只依据可观察输出、调查账与已经完成的裁决,至少比较:有效发现、证据包外独有有效发现、误报或越界、证据与真值锚点质量、自主勘察质量、遗漏的明显影响面、严重度校准、表达与整改可执行性、上下文效率。
- 先裁决、后评分;排名不得反向改变任何 AR-x,也不得成为新一轮评审或封闭验收依据。
- 不按原始问题数量排名,不奖励重复项;以主线程最终确认成立的贡献和误报成本为主。
- 多个模型参与时,每个模型都写一句优势、一句短板和本次任务适配结论,并给出不并列的 1~N 名;若表现接近,也必须用证据质量、误报率或独有贡献打破平局。
- 同时记录各通道实际可用的读取/检索工具与 `INFO-GAP`。除非工具面等价已经被证实,不得把通道限制或提示编排缺陷全部归因于模型能力。
- 只评价本次任务表现,不外推为通用排行榜;不披露或推测隐藏思维过程。
- 模型身份以实际调用记录为准,不采信输出中的自报身份。
## 7. 报告格式
报告落任务规定的 _shared/T{n}-对抗评审报告.md,至少包含:
~~~markdown
# 对抗评审报告
- review_id:
- object_hash:
- truth_baseline_hash:
- 评审对象:
- 评审模型:按实际调用记录列出每个桥接、模型 ID 与推理档
- 裁决者:当前主线程(未启动独立裁判线程)
- REVIEW_ROOT:
- 禁止读取/禁止动作:
## 1. 评审对象与真值基线
## 2. 评审者调查账与通道信息缺口
| 评审者(模型 + 通道) | 冻结核心 | 自主发现与检索主题 | 反证/覆盖边界 | INFO-GAP/主动排除 | 实际工具面 |
|---|---|---|---|---|---|
## 3. 意见逐条裁决
### AR-1
- 来源:实际评审者编号及桥接
- 原始意见:
- 事实证据:
- 真值锚点:
- 主线程裁决:❌ / ✅ / 🔧 / 🚨
- 裁决理由:
- 驳回复核前提及证据:
- 决策来源:正式规格 / DEC-x / 无
- 整改动作:
## 4. 修正后的最终结论
## 5. 自愈清单条目
## 6. 驳回项汇总
## 7. 来源分布(多个模型才写共识与分歧)
## 8. 参与模型 + 通道点评(单模型)或任务内排名(多模型)
| 排名(单模型填“不适用”) | 模型 + 通道 | 有效/独有贡献 | 自主勘察与上下文效率 | 误报/越界/遗漏 | 通道限制 | 优势 | 短板 | 本任务适配结论 |
|---|---|---|---|---|---|---|---|---|
## 9. 固定整改清单
| AR | 裁决 | DEC | 允许范围 | 预期落点 | 验收条件 |
|---|---|---|---|---|---|
## 10. 封闭式整改验收
由 closed-remediation-review 追加;未完成前状态为 PENDING。
~~~
报告在封闭验收 PASS 前不得宣称完成。
## 8. 失败与降级
- 某桥接未安装、未登录或没有可用模型:告知具体状态;其他桥接仍可供选择。
- 用户已选模型启动失败或被服务端拒绝:同一冻结包重试一次;仍失败暂停,请用户从刷新后的清单重选,不自动降级。
- 发现 Fast、Auto、非只读权限、敏感读取或工作树改动:立即停止并判该输出无效,核查状态。
- 缺独立调查账或关键材料不可访问:一次同包重试;仍失败标 `INFO-GAP`,不宣称完成。
- 单模型正常完成:报告其发现、局限和主线程裁决;不写共识、分歧或排名。零有效问题可成立,不凑数。
## 9. 完成检查
- [ ] 三桥接已实时探测,可用/不可用状态和实际模型清单已给用户选择
- [ ] 至少一个精确桥接/模型由用户选择并在运行前再次核对;全部禁 Fast
- [ ] 同一身份、对象、真值基线和只读授权根已冻结,评审者独立勘察
- [ ] 每条意见有证据、真值锚点、主线程四选一裁决和业务选择来源
- [ ] 只点评实际参与模型;单模型无假比较,多模型在裁决后排名
- [ ] 固定整改清单已完成 closed-remediation-review 且 PASS;没有自动 R2/R3
Files in this skill
- SKILL.md
- references/profiles/用例评审.md
- references/profiles/章程评审.md
- references/profiles/设计评审.md
- references/证据包制作规范.md
- scripts/cursor-review-runner.sh
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.