| name | AI IDE代码执行面测试 |
| description | 测试AI IDE中超出MCP与终端过滤范围之外的代码执行面。适用于评估Hook滥用、二进制植入、IDE设置利用、工具定义自动加载,或环境变量前缀 相关向量。模式按交互层级排序:Tier 1为零交互,Tier 4为已信任工作区 且需要特定动作。
|
AI IDE代码执行面测试
本skill重点讨论:除了常见的MCP配置和终端过滤,还能通过哪些路径把行为升级到代码执行。
核心目标不只在于寻找RCE,还要判断AI IDE自己提供的自动化、扩展点、配置点、启动点会不会被滥用。
什么时候用
- 已确认目标支持Hook、工具配置、启动脚本、IDE设置或外部命令集成
- 怀疑存在自动执行面,但不属于MCP服务器定义本身
- 需要验证审批模型、信任模型、设置继承链是否会把低风险能力升级成执行
- 在写攻击链时,需要补执行落点这一跳
审查重点
- Hook机制:会话开始、命令前后、文件变更后是否自动触发
- 二进制植入:PATH搜索顺序、工作区优先级、假冒同名命令
- IDE设置:哪些字段会触发外部程序、脚本、终端、任务
- 工具定义或自动发现:是否会从工作区加载并执行
- 环境变量前缀:是否可借环境变量改写后续命令行为
- 审批缓存:是否会因为之前批过而让新内容静默执行
交互层级
| 层级 | 典型场景 |
|---|
| Tier 1 | 打开项目就触发Hook、设置、自动加载 |
| Tier 2 | 用户正常与Agent交互,Agent代为触发执行 |
| Tier 3 | 用户必须明确点一次批准 |
| Tier 4 | 用户已信任项目,还得执行某个特定动作 |
操作流程
- 先列执行入口。 不应先行投递payload,应先识别所有可能导致代码执行的入口。
- 判断是自动触发还是动作触发。
这决定层级和报告价值。
- 看配置来源。
是全局、用户级、工作区级,还是远端拉取?
- 检查审批边界。
审批是按内容、按路径、按工具名,还是只按一次?
- 做最小验证。
应先使用无害命令验证执行能力,再评估进一步影响。
- 确认是否能持久化。
能否跨会话、跨重启、跨拉取再次触发。
常用测试主题
1. Hook自动执行
重点问题如下:
- Hook文件放哪
- 默认是否读取
- 哪些事件会触发
- 未信任工作区是否也会跑2. 二进制植入与PATH劫持重点问题如下:
- 是否优先执行工作区中的同名程序
- Shell、Agent、task runner的PATH是否不同
- Windows、macOS、Linux的差异点是什么3. IDE设置到命令执行重点问题如下:
- 设置项是否允许外部程序、脚本、终端启动
- 是否支持变量插值、命令拼接、Shell展开
- 设置变更后是否热加载4. 工具定义与自动发现重点问题如下:
- 是否会自动扫描工作区中的工具清单
- 是否只展示,还是会真正执行
- 是否把定义文件当成可信配置5. 审批模型缺陷重点问题如下:
- 是否存在TOCTOU
- 是否只记住路径或名称,不校验内容
- 批准一次后后续修改是否仍可执行
证据优先级
优先相信:
- 实际运行结果
- 触发日志与终端输出
- 当前生效的配置
- 源码与文档
不能仅凭源码层面的可疑迹象即认定问题成立,必须证明当前版本在运行时确有相关行为。
可优先参阅的资料
references/hooks-payloads.md
references/binary-planting-vectors.md
references/ide-settings-vectors.md
references/known-vulns.md
输出表述建议
最终结论宜采用以下结构:
- 入口点:哪个机制能到执行
- 触发条件:用户最少要做什么
- 约束:是否需要信任、审批、特定平台
- 影响:读、写、持久化、执行到什么程度
- 可链接性:能否与PI、MCP、外传拼成更完整的链