跳转到正文
报告库
用途分类 / 开发辅助

Implement Spec Skill 安全审计

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

Implement a specification in code.

第三方安全检查结论

发现安全风险

已检查文件
2
发现的风险
3
会不会运行危险命令?检查是否下载程序后直接运行、让他人远程控制电脑,或藏起要运行的命令。未发现风险
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。发现 1 项风险
中风险

探索代理可能把代码库或规格资料留在仓库外,并向未来代理开放

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

可选探索步骤明确要求代理在仓库外保存 Markdown 笔记,并使所有未来子代理都能访问。指令没有限定笔记内容、保存位置、保留期限或清理方式。

为什么需要注意

笔记若包含私有代码片段、内部架构、issue 内容或其他敏感上下文,会形成仓库访问控制和正常清理流程之外的持久副本,并扩大到后续代理。

这是可选但可执行的步骤:探索代理可读取代码库文件或外部文档,并被要求把 Markdown 笔记保存在仓库外、供所有未来子代理访问。若笔记包含私有代码、规格或凭据片段,未限定的位置、访问范围和清理期限可能扩大数据暴露面。文本未证明一定写入敏感信息;用户可要求限定临时目录、排除秘密、限制为本次任务代理并在结束时清理。

SKILL.md:21来自说明文档打开原文件
2. (optional) Use an **exploration subagent** to conduct any exploration required by the tickets - relevant codebase files or external documentation. Ensure the exploration subagent can save files - it should save its markdown notes in a directory outside the repo, accessible by all future subagents. This lets **implementer subagents** focus on implementation rather than exploration.
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。发现 1 项风险
中风险

自动清理所有实现 worktree 可能移除尚未保留的工作文件

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

最终步骤要求清理所有实现代理的 worktree,但没有先要求核对未提交、未跟踪或尚未成功合并的文件,也未规定只能执行非强制清理。

为什么需要注意

如果某个 worktree 仍有未提交或未合并的唯一修改,强制清理可能使这些文件或修改难以恢复。

这段证据能说明什么

指令确实要求最终清理实现代理的 worktree,但没有规定使用强制删除,也没有明确要求删除未提交或未跟踪文件。流程顺序是在各代理成果合并、全部工单完成并完成审查修复之后才清理,因此候选所述文件丢失并非由文本直接要求;不过它也没有明确的干净状态或成功合并检查。用户可要求作者说明仅清理已合并且无未提交变更的 worktree。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
SKILL.md:27来自说明文档打开原文件
5. Once an **implementer subagent** completes, merge its work to the PR branch with a **merger subagent**.
查看另外 2 个位置
SKILL.md:35来自说明文档打开原文件
9. Clean up all **implementer subagent** worktrees.
SKILL.md:31来自说明文档打开原文件
7. Once all tickets are complete, run /code-review on the PR branch. Fix all issues raised by the code review in a single **implementer subagent**.
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
中风险

流程可在没有用户确认关卡的情况下创建 PR、关联关闭工单并将其标记为可审查

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

指令要求创建分支和草稿 PR,把 PR 标记为关闭规格 issue 与各工单,最后再将其设为 ready for review;文本未要求用户在这些外部仓库操作前确认。

为什么需要注意

若代理持有仓库权限,它会改变远程协作状态;关闭关键词可能在 PR 合并时自动关闭多个 issue,ready 状态也可能触发审查通知或自动化流程。

该技能的实际流程要求创建分支和草稿 PR、让 PR 关闭规格 issue 与工单,并最终把 PR 标为可审查。这些操作会更改外部代码托管账户中的仓库和工单状态;可见指令没有设置用户确认关卡。只有在用户已明确授权完整 PR 流程时才符合预期,用户可要求作者增加创建 PR、关联关闭工单及转为 ready 前的确认或权限限制。

SKILL.md:23来自说明文档打开原文件
3. Create a branch, and a draft PR. The PR should be marked as 'closing' the spec issue and tickets.
查看另外 2 个位置
SKILL.md:33来自说明文档打开原文件
8. Mark the PR as ready for review.
SKILL.md:9来自说明文档打开原文件
The goal is a PR which implements the entire spec on a single branch.
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

1 个说明模块

该 Skill 不允许模型隐式调用;用户需要明确选择它,之后它以“把整个规格实现到单个 PR”为目标。

查看原文
SKILL.md:4来自说明文档打开原文件
description: "Implement a specification in code."disable-model-invocation: true---
SKILL.md:9来自说明文档打开原文件
The goal is a PR which implements the entire spec on a single branch.
agents/openai.yaml:5来自说明文档打开原文件
policy:  allow_implicit_invocation: false

工作流将工单作为依赖图,并持续把当前可执行工单分派给后台实现代理,以提高并发度。

查看原文
SKILL.md:11来自说明文档打开原文件
The tickets are not a list of steps. They are a **task graph** with blocking relationships between them. This means there is always a **frontier** of tickets which are ready to be grabbed.
SKILL.md:15来自说明文档打开原文件
**Implementer subagents** should be run in the background where possible for **maximum concurrency**.
SKILL.md:29来自说明文档打开原文件
6. If this changes the **frontier** of available tickets, kick off more **implementer subagents** to work on the new tickets. This allows for maximum concurrency.

每个实现代理在独立分支和 worktree 中工作,完成后由另一个代理合并;最终再运行代码审查并由单个代理处理其提出的全部问题。

查看原文
SKILL.md:25来自说明文档打开原文件
4. Use **implementer subagents** to implement each ticket. Each implementer subagent should work in its own worktree, on its own branch.
SKILL.md:27来自说明文档打开原文件
5. Once an **implementer subagent** completes, merge its work to the PR branch with a **merger subagent**.
SKILL.md:31来自说明文档打开原文件
7. Once all tickets are complete, run /code-review on the PR branch. Fix all issues raised by the code review in a single **implementer subagent**.

该流程刻意减少代理间通信,主要依靠规格、工单、研究笔记和提交等上下文指针。

查看原文
SKILL.md:13来自说明文档打开原文件
Communication to and from subagents should be sparse. Communicate primarily through **context pointers**: to the spec, tickets, research notes, and previous commits. Don't duplicate information already available via pointers.
从这里开始 · 工作说明SKILL.md
implement-spec
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。
文件与检查记录2 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文
  • agents/openai.yaml已纳入全文

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

  • SKILL.md工作说明
  • agents/openai.yaml配套文件
读取了多少行
42
文件校验值(用于核对版本)
51cab858ca9a9219a426e67cfbd243e6a3c12b67c873cb02a88a3fbe1e68496d