# AI IDE攻击面侦察

> 在对AI IDE做漏洞测试前，先绘制攻击面。适用于评估AI IDE的功能边界、 文档盲区、配置文件位置与自动加载路径，并按交互层级给每个发现标注优先级。

- Skill: `spindriftpapilio/ai-ide-2` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add spindriftpapilio/ai-ide-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/spindriftpapilio/ai-ide-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: spindriftpapilio (https://skillmd.com/u/spindriftpapilio)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/spindriftpapilio/ai-ide-2

---


# AI IDE攻击面侦察

面对新的目标时，建议先用本skill做侦察，再进入专项测试阶段。

目标不只是把所有内容扫一遍，更重要的是尽快回答几个关键问题：

- 这个IDE与Agent到底会读什么、写什么、执行什么？
- 哪些内容会自动加载？
- 信任边界、审批边界、工作区边界在哪里？
- 哪些能力属于零交互，哪些必须靠用户动作触发？

# 什么时候用

- 第一次接触一个新的AI IDE或编码Agent
- 目标是闭源产品，只能从运行行为和文档反推
- 目标是开源项目，需要先确定高优先级模块与配置入口
- 做后续`MCP配置投毒测试`、`提示词注入攻击链测试`、`终端过滤绕过测试`之前

# 侦察目标

优先回答以下几类问题：

1. **输入面**
   - 会读哪些工作区文件
   - 是否会处理README、规则文件、配置文件、会话文件
2. **执行面**
   - 会调用哪些本地命令、工具、Hook、外部程序
3. **网络面**
   - 会主动访问哪些URL、模型提供方、图片、文档、插件服务
4. **配置面**
   - 全局、用户级、工作区级配置放在哪里
   - 哪些配置会自动加载
5. **审批与信任面**
   - 信任工作区前后有什么差别
   - 哪些操作需要审批，审批是按什么粒度缓存

# 交互层级

侦察输出必须给每个特性标注层级：

|层级|定义|
|---|---|
|Tier 1|用户只需克隆并打开项目|
|Tier 2|用户正常发消息或与Agent交互|
|Tier 3|用户必须点明确的批准按钮|
|Tier 4|用户已信任项目，还要执行特定动作|

层级越低，优先级越高。

# 推荐流程

1. **先看文件与文档。** 重点看README、设置文档、更新日志、示例配置、默认规则文件位置。
2. **再看运行时行为。**
   打开项目后观察：读了哪些文件、发了哪些请求、触发了哪些命令。
3. **整理自动加载点。**
   重点找：

- rules / instructions
- MCP配置
- Hook
- settings
- settings / model config
4. **记录信任模型。**
   打开未信任项目、批准后、重开项目，分别观察差异。
5. **按层级排专项测试顺序。**
   Tier 1先测，再到Tier 2、3、4。

# 优先关注的高优先级入口

- 工作区规则文件
- MCP配置
- 配置文件与配置目录
- 启动时自动发现的配置
- Shell、terminal调用点
- 图片、文档、预览渲染
- 自定义模型与Agent设置
- 更新日志里提到的安全改动信任提示审批优化

# 输出格式说明

每个发现至少写：

- 特性名称
- 所在位置
- 是否默认开启
- 是否自动触发
- 需要的最少用户动作
- 交互层级
- 建议转入哪个后续skill继续深入分析

# 推荐衔接的skill

- MCP、配置相关：`MCP配置投毒测试`
- 规则文件、提示词注入：`提示词注入攻击链测试`
- 执行点：`AI IDE代码执行面测试`
- 终端审批与过滤：`终端过滤绕过测试`
- 网络与出站：`AI IDE数据外传测试`
- 开源代码审计：`AI IDE源码安全审计`

# 可优先参阅的资料

- `references/doc-analysis-checklist.md`
- `references/ide-config-locations.md`
- `references/changelog-keywords.md`

# 一句话原则

初始阶段不要直接投递大量payload。

应先明确其自动执行内容、触发时机及影响范围，再决定后续测试方向。


