| name | AI IDE数据外传测试 |
| description | 测试AI IDE的数据外传能力。适用于评估Markdown图片渲染、Mermaid图表、 预配置URL拉取、模型提供方重定向、WebView渲染,及其他出站通道。
|
AI IDE数据外传测试
本skill重点讨论:AI IDE或其Agent能不能把本地敏感数据发到外部。
重点不只看有没有网络,还要看是否存在交互成本低、隐蔽、默认可用、容易被忽略的出站通道。
什么时候用
- 怀疑工具会主动抓取远程资源
- 工作区内容可能被渲染到WebView、Markdown、Mermaid、预览面板
- 目标支持自定义模型提供方、URL、Agent、图片资源
- 已确认存在提示词注入、文件读取或配置修改能力,想验证是否能形成完整外传链路
常用外传通道
- Markdown、HTML图片链接
- Mermaid、PlantUML、图表或预览组件的远程资源
- 预配置URL拉取器、链接展开器、远程文档读取器
- 自定义模型API地址、Agent地址、base URL
- DNS请求
- WebView、iframe、浏览器预览
- 日志上报、监测数据、错误报告等次级网络路径
核心判断点
- 通道是否默认开启
- 是否需要用户点击或确认
- 能否把本地内容拼进请求
- 请求发生在谁的上下文里
- 是否能稳定复现并区分缓存影响
测试步骤
- 先确认出站面。 列出所有可能触发HTTP、HTTPS、DNS或其他协议请求的组件。
- 再确认注入面。
看攻击者能把什么数据送进这些组件:文本、文件内容、环境变量、配置项等。
- 最小化验证请求。
先证明请求会出去,再证明请求可携带本地数据。
- 区分自动与交互触发。
打开项目就出网,还是必须点预览、点渲染、发消息?
- 识别缓存与一次性行为。
避免把浏览器缓存、IDE缓存误判为成功外传。
典型模式
1. 渲染型外传
在工作区中放入会被IDE渲染的内容,例如:
- Markdown图片
- Mermaid图
- HTML片段
- 可远程加载资源的预览格式
审查要点:打开文件、预览面板、消息渲染时是否自动出网。
- 配置型外传通过配置项把请求导向攻击者控制的地址,例如:
OPENAI_BASE_URL
- 自定义模型提供方
- Agent地址
- 图片、文档下载源
审查要点:配置是否可由工作区影响,是否无需显式批准。
- 命令辅助型外传通过允许命令、DNS工具、下载器、浏览器命令等,把本地数据塞进出站请求。
审查要点:命令是否在下载流程中、参数是否可控、Shell展开是否可用。
与其他skill的衔接
- 和
提示词注入攻击链测试搭配:验证能读到的数据是否能被送出去
- 和
终端过滤绕过测试搭配:验证允许命令是否能变成外传通道
- 和
MCP配置投毒测试、AI IDE代码执行面测试搭配:验证配置修改后是否形成长期外传
可优先参阅的资料
references/exfil-payloads.md
references/url-fetching-configs.md
references/known-vulns.md
输出表述建议
最终宜明确说明:
- 通道名称:是哪一个组件在出网
- 触发方式:自动、发消息、预览、审批后、特定动作后
- 载荷方式:本地数据怎么被编码进请求
- 终点地址:请求发到哪里
- 影响范围:能泄露哪些类型的数据
- 稳定性:是否受缓存、平台、网络策略影响