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

Incremental Implementation Skill 安全审计

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

Delivers changes incrementally. Use when implementing any feature or change that touches more than one file. Use when you're about to write a large amount of code at once, or when a task feels too big to land in one step.

第三方安全检查结论

发现安全风险

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

验证步骤会执行仓库控制的测试、构建和工具命令

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

该 Skill 明确要求运行仓库自己的测试、构建、类型检查和 lint 命令,包括 npm、Gradle、pytest 与 npx 示例。这些命令可执行仓库中的脚本、插件、构建逻辑及依赖代码,而不只是读取源文件。

为什么需要注意

如果仓库或依赖不可信,验证可能运行恶意代码,读取代理可访问的文件或凭据、修改工作区,或进行代理权限允许的网络操作。

该 Skill 主动要求在每个增量后运行仓库自己的测试、构建、类型检查和 lint 命令。此类命令通常会执行仓库脚本、构建插件或依赖代码;若仓库来源不可信,它们可能在代理权限范围内读写文件、读取环境凭据或联网。验证本身符合该 Skill 的开发用途,但执行代码的风险真实存在。用户可要求先展示命令,并限制网络、凭据和文件权限。

SKILL.md:201来自说明文档打开原文件
After each increment, verify with the repository's own commands (see the test-driven-development skill's Discover the Stack First section):- [ ] The change does one thing and does it completely- [ ] All existing tests still pass (the repository's test command: `npm test`, `./gradlew test`, `pytest`, ...)- [ ] The build succeeds (the repository's build command)- [ ] Type checking passes, where the stack has one (`npx tsc --noEmit`, `mypy`, ...)- [ ] Linting passes (the repository's lint command)- [ ] The new functionality works as expected- [ ] The change is committed with a descriptive message
查看另外 1 个位置
SKILL.md:38来自说明文档打开原文件
1. **Implement** the smallest complete piece of functionality2. **Test** — run the test suite (or write a test if none exists)3. **Verify** — confirm the slice works as expected (tests pass, build succeeds, manual check)4. **Commit** -- save your progress with a descriptive message (see `git-workflow-and-versioning` for atomic commit guidance)5. **Move to the next slice** — carry forward, don't restart
会不会泄露文件和密钥?检查是否发送含密码或密钥的文件,以及代码里是否直接写了密钥。未发现风险
会不会删除文件或一直在后台运行?检查是否大范围删除文件、改写磁盘,或设置自动启动。发现 1 项风险
中风险

默认要求为每个增量创建 Git 提交

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

该 Skill 把“提交”列为每个增量的必做步骤,并在最终检查中要求没有未提交改动。实现任务并不一定表示用户授权代理修改仓库历史。

为什么需要注意

代理可能在用户只想查看或暂存改动时创建多个永久提交,使审查、重新组织或撤销工作更复杂。如果工作区原本有用户改动,含糊的提交范围还可能把它们一起纳入提交。

该 Skill 的实时流程把每个增量提交列为步骤,并在检查项中再次要求提交,最终还要求没有未提交改动。若代理在用户只授权修改文件、未授权改写 Git 历史时照做,就会创建提交并改变仓库历史;“没有未提交改动”也可能推动代理处理不属于本任务的现有改动。用户可要求禁用自动提交,并保留已有未提交改动。

SKILL.md:38来自说明文档打开原文件
1. **Implement** the smallest complete piece of functionality2. **Test** — run the test suite (or write a test if none exists)3. **Verify** — confirm the slice works as expected (tests pass, build succeeds, manual check)4. **Commit** -- save your progress with a descriptive message (see `git-workflow-and-versioning` for atomic commit guidance)5. **Move to the next slice** — carry forward, don't restart
查看另外 4 个位置
SKILL.md:239来自说明文档打开原文件
After completing all increments for a task:- [ ] Each increment was individually tested and committed- [ ] The full test suite passes- [ ] The build is clean- [ ] The feature works end-to-end as specified- [ ] No uncommitted changes remain
SKILL.md:41来自说明文档打开原文件
3. **Verify** — confirm the slice works as expected (tests pass, build succeeds, manual check)4. **Commit** -- save your progress with a descriptive message (see `git-workflow-and-versioning` for atomic commit guidance)5. **Move to the next slice** — carry forward, don't restart
SKILL.md:203来自说明文档打开原文件
- [ ] The change does one thing and does it completely- [ ] All existing tests still pass (the repository's test command: `npm test`, `./gradlew test`, `pytest`, ...)- [ ] The build succeeds (the repository's build command)- [ ] Type checking passes, where the stack has one (`npx tsc --noEmit`, `mypy`, ...)- [ ] Linting passes (the repository's lint command)- [ ] The new functionality works as expected- [ ] The change is committed with a descriptive message
SKILL.md:241来自说明文档打开原文件
- [ ] Each increment was individually tested and committed- [ ] The full test suite passes- [ ] The build is clean- [ ] The feature works end-to-end as specified- [ ] No uncommitted changes remain
会不会绕过安全保护?检查是否跳过网站安全验证、开放过多文件权限,或取消操作前的确认。发现 1 项风险
低风险

安装命令没有固定依赖版本

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

安装命令没有指定依赖版本。同样的命令以后可能下载不同代码,你实际安装的内容可能与这次检查时不同。

为什么需要注意

即使命令和报告没变,以后安装时也可能下载到另一份代码。

这段代码的正常用途

这里不是安装依赖的命令,而是“在项目具备类型检查时”可采用的命令示例;同一清单还明确要求使用仓库自身的命令。虽然某些环境中的 `npx` 在本地缺包时可能提示或尝试下载,但源码没有要求安装未固定版本的软件,因此候选所称风险未被直接支持。

这项判断针对展示的代码和适用条件,不表示风险已经实际发生。
SKILL.md:206来自说明文档打开原文件
- [ ] The build succeeds (the repository's build command)- [ ] Type checking passes, where the stack has one (`npx tsc --noEmit`, `mypy`, ...)- [ ] Linting passes (the repository's lint command)
查看另外 1 个位置
SKILL.md:201来自说明文档打开原文件
After each increment, verify with the repository's own commands (see the test-driven-development skill's Discover the Stack First section):
会不会误导 AI 或隐藏内容?检查工作说明是否要求 AI 忽略你的指令、干扰检查结果,或夹带看不见的文字。未发现风险
会不会偷偷改推广链接或收款方?检查是否强制替换推广链接或收款对象,同时要求隐瞒更改。未发现风险

Skill 逻辑拆解

8 个说明模块

该 Skill 要求把多文件改动拆成小的纵向增量,并在每个增量后实现、测试、验证和提交,然后再继续下一段。

查看原文
SKILL.md:36来自说明文档打开原文件
For each slice:1. **Implement** the smallest complete piece of functionality2. **Test** — run the test suite (or write a test if none exists)3. **Verify** — confirm the slice works as expected (tests pass, build succeeds, manual check)4. **Commit** -- save your progress with a descriptive message (see `git-workflow-and-versioning` for atomic commit guidance)5. **Move to the next slice** — carry forward, don't restart

它要求限制改动范围,不清理相邻代码、不添加规格之外的功能;发现无关问题时只记录,不直接修复。

查看原文
SKILL.md:117来自说明文档打开原文件
Touch only what the task requires.Do NOT:- "Clean up" code adjacent to your change- Refactor imports in files you're not modifying- Remove comments you don't fully understand- Add features not in the spec because they "seem useful"- Modernize syntax in files you're only readingIf you notice something worth improving outside your task scope, note it — don't fix it:

对于尚未准备好交付的功能,该 Skill 建议使用默认关闭的功能开关,并要求每个增量可独立回滚。

查看原文
SKILL.md:147来自说明文档打开原文件
### Rule 3: Feature Flags for Incomplete FeaturesIf a feature isn't ready for users but you need to merge increments:```typescript// Feature flag for work-in-progressconst ENABLE_TASK_SHARING = process.env.FEATURE_TASK_SHARING === 'true';if (ENABLE_TASK_SHARING) {  // New sharing UI}```This lets you merge small increments to the main branch without exposing incomplete work.
SKILL.md:174来自说明文档打开原文件
### Rule 5: Rollback-FriendlyEach increment should be independently revertable:- Additive changes (new files, new functions) are easy to revert- Modifications to existing code should be minimal and focused- Database migrations should have corresponding rollback migrations- Avoid deleting something in one commit and replacing it in the same commit — separate them
从这里开始 · 工作说明SKILL.md
incremental-implementation
连线表示工作说明包含的模块,不是实际运行顺序。点击模块可查看原文。 另有 3 个章节,可在原文件中查看。
文件与检查记录1 个文件

检查范围与遗漏

逐文件查看涉及的内容

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

  • SKILL.md已纳入全文

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

  • SKILL.md工作说明

代码和说明中提到的操作

读取密钥或账号配置
SKILL.md:153来自说明文档打开原文件
// Feature flag for work-in-progressconst ENABLE_TASK_SHARING = process.env.FEATURE_TASK_SHARING === 'true';
安装其他软件包
SKILL.md:206来自说明文档打开原文件
- [ ] The build succeeds (the repository's build command)- [ ] Type checking passes, where the stack has one (`npx tsc --noEmit`, `mypy`, ...)- [ ] Linting passes (the repository's lint command)
读取了多少行
250
文件校验值(用于核对版本)
f363fa03d08c2b7bdb8bfd66fa052b9f6e51ab5231e301a8d0d6848329f51de5