跳转到正文
报告库
用途分类 / 其他用途

Verification Before Completion Skill 安全审计

作者说它能做什么(原文)

Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always

第三方安全检查结论

发现安全风险

已检查文件
1
发现的风险
3
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。发现 1 项风险
中风险

无条件要求执行未限定的“完整命令”

原文依据:3 处
发现了什么

Skill 要求代理自行选择并完整执行能证明声明的命令,但没有限制命令必须是本地、只读或无副作用,也没有要求在昂贵、联网或影响外部环境的验证前获得用户确认。

为什么需要注意

如果项目的“完整”测试或构建脚本会启动服务、访问付费 API、修改数据库、发布工件或运行不受信任的项目脚本,调用此 Skill 可能触发这些行为。

这段证据能说明什么

该 Skill 确实要求在声明完成前自行确定并执行“完整命令”,而且把规则广泛用于提交、PR 和任务完成;但源码没有指定任何危险、联网或修改外部状态的命令。运行测试或构建通常符合其验证目的,因此仅凭这些文字无法确定会产生副作用。用户可要求作者明确:验证默认限于本地、低成本命令,联网、付费或会改变外部状态的检查须先获授权。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
SKILL.md:27来自说明文档打开原文件
1. IDENTIFY: What command proves this claim?2. RUN: Execute the FULL command (fresh, complete)3. READ: Full output, check exit code, count failures4. VERIFY: Does output confirm the claim?
查看另外 2 个位置
SKILL.md:108来自说明文档打开原文件
**ALWAYS before:**- ANY variation of success/completion claims- ANY expression of satisfaction- ANY positive statement about work state- Committing, PR creation, task completion- Moving to next task- Delegating to agents
SKILL.md:25来自说明文档打开原文件
```BEFORE claiming any status or expressing satisfaction:1. IDENTIFY: What command proves this claim?2. RUN: Execute the FULL command (fresh, complete)3. READ: Full output, check exit code, count failures4. VERIFY: Does output confirm the claim?   - If NO: State actual status with evidence   - If YES: State claim WITH evidence5. ONLY THEN: Make the claim
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 1 项风险
中风险

要求读取完整输出可能把日志中的秘密带入代理上下文

原文依据:2 处
发现了什么

Skill 明确要求读取完整命令输出,没有提供脱敏、过滤或截断敏感日志的例外。测试和构建输出有时包含令牌、连接字符串、个人数据或环境配置。

为什么需要注意

若验证日志含敏感值,这些内容可能被代理读取并进入对话或运行记录;后续引用“证据”时还可能再次披露。

这是有效的隐私风险:指令要求代理读取“完整输出”,未给敏感日志或秘密提供例外。若测试或构建将令牌、连接字符串、个人数据等写到标准输出,这些内容会进入代理可见上下文;源码并未证明会向第三方外传。用户可限制为先检查退出码和摘要,并要求对疑似敏感输出进行脱敏或仅在本地查看。

SKILL.md:28来自说明文档打开原文件
1. IDENTIFY: What command proves this claim?2. RUN: Execute the FULL command (fresh, complete)3. READ: Full output, check exit code, count failures4. VERIFY: Does output confirm the claim?   - If NO: State actual status with evidence   - If YES: State claim WITH evidence5. ONLY THEN: Make the claim
查看另外 1 个位置
SKILL.md:27来自说明文档打开原文件
1. IDENTIFY: What command proves this claim?2. RUN: Execute the FULL command (fresh, complete)3. READ: Full output, check exit code, count failures4. VERIFY: Does output confirm the claim?   - If NO: State actual status with evidence
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。发现 1 项风险
中风险

回归验证流程要求临时撤销修复,可能扰动工作区文件

原文依据:1 处
发现了什么

红绿验证示例要求先通过、再撤销修复、确认失败、随后恢复。Skill 没有说明如何隔离变更、保护用户已有的未提交修改,或在流程中断时恢复现场。

为什么需要注意

如果撤销操作与用户的未提交修改重叠,或代理在“恢复”前中断,文件可能留在旧状态;不安全的撤销方式还可能覆盖无关改动。

该段虽是“回归测试”示例,但用勾号和“MUST FAIL”明确推荐实际执行撤销与恢复流程。若代理直接在含用户未提交修改的工作区撤销修复,可能覆盖或混淆现有改动;流程中断也可能留下撤销后的状态。它没有说明使用临时副本、独立工作树或先确认干净差异。用户可要求只在隔离副本中做红绿验证,并禁止用破坏性 Git 操作处理现有工作区。

SKILL.md:82来自说明文档打开原文件
**Regression tests (TDD Red-Green):**```✅ Write → Run (pass) → Revert fix → Run (MUST FAIL) → Restore → Run (pass)❌ "I've written a regression test" (without red-green verification)```
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。未发现风险
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

8 个说明模块

该 Skill 是一个完成声明前的验证门:代理先确定能证明声明的命令,完整运行并检查输出、退出码和失败数,然后才可报告通过或完成。

查看原文
SKILL.md:25来自说明文档打开原文件
```BEFORE claiming any status or expressing satisfaction:1. IDENTIFY: What command proves this claim?2. RUN: Execute the FULL command (fresh, complete)3. READ: Full output, check exit code, count failures4. VERIFY: Does output confirm the claim?   - If NO: State actual status with evidence   - If YES: State claim WITH evidence5. ONLY THEN: Make the claim

它区分测试、代码检查、构建、缺陷复现和需求核对,不允许用一种检查替代另一种检查。

查看原文
SKILL.md:40来自说明文档打开原文件
| Claim | Requires | Not Sufficient ||-------|----------|----------------|| Tests pass | Test command output: 0 failures | Previous run, "should pass" || Linter clean | Linter output: 0 errors | Partial check, extrapolation || Build succeeds | Build command: exit 0 | Linter passing, logs look good || Bug fixed | Test original symptom: passes | Code changed, assumed fixed || Regression test works | Red-green cycle verified | Test passes once || Agent completed | VCS diff shows changes | Agent reports "success" || Requirements met | Line-by-line checklist | Tests passing |

该规则范围很广,不只用于最终完成声明,也覆盖任何积极状态表述、进入下一任务和委派代理。

查看原文
SKILL.md:108来自说明文档打开原文件
**ALWAYS before:**- ANY variation of success/completion claims- ANY expression of satisfaction- ANY positive statement about work state- Committing, PR creation, task completion- Moving to next task- Delegating to agents
从这里开始 · 工作说明SKILL.md
verification-before-completion
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

下方列出本次涉及的原文范围;纳入检查不代表已查清所有问题。

  • SKILL.md已纳入全文

这份报告只针对上方版本。我们看了拿到的代码和说明文件,没有实际运行 Skill,也没有检查它另外安装的软件包。因此,这不是“保证安全”的承诺;换了版本或使用环境,结果也可能不同。

  • SKILL.md工作说明
读取了多少行
121
文件校验值(用于核对版本)
0c7154cf220986386348e881434d24c00d8a7fe43421e2e4ebca51121445b484