| name | AI IDE源码安全审计 |
| description | 指导对开源AI IDE做源码安全审计。适用于审查命令过滤实现、MCP集成、 配置加载、文件写入权限模型,以及其他与Agent能力边界相关的源码路径。
|
AI IDE源码安全审计
本skill用于有源码可看的场景。这里不做全面代码审查,重点围绕AI IDE的高风险边界做定向审计:
- 它从哪里读工作区内容
- 它把什么当成可信配置
- 它怎么决定是否能够执行命令
- 它如何处理审批、信任、路径和权限
- 它是否会把低风险输入升级成高风险行为
什么时候用
- 目标是开源AI IDE、CLI、插件
- 已经通过侦察知道高优先级模块在哪,需要进源码确认
- 需要验证文档说法与真实实现是否一致
- 需要为PoC或报告补实现层证据
审计重点
1. 配置加载链
看这些问题:
- 工作区、用户级、全局配置的加载顺序是什么
- 是否存在自动加载、热重载、递归搜索
- 信任工作区前后,哪些配置仍然会被读2. 提示与规则文件处理看这些问题:
- 会自动读哪些文件进入模型上下文
- 是否有限制目录、文件名、大小、优先级
- 用户提示、系统提示、工作区规则如何合并3. 命令执行与过滤看这些问题:
- 过滤逻辑发生在什么层
- 校验的是命令名、参数、完整字符串,还是AST
- Shell展开、换行、子命令、平台差异是否被考虑4. MCP、工具接入看这些问题:
- 会从哪里发现MCP配置
- 审批是按内容还是按路径缓存
- settings定义被修改后是否重新校验5. 文件写入与范围控制看这些问题:
- Agent可写哪些路径
- 是否能改写配置文件、规则文件、脚本文件
- 是否存在跨工作区、越权写、符号链接问题
审计流程
- 先定模块,不要全仓库盲搜。 根据运行行为、路由、配置入口,先圈出高风险目录。
- 从入口追到危险动作。
例如:工作区文件 ->解析器 ->上下文拼接 ->模型输出 ->工具调用。
- 找边界判断代码。
重点找
isTrusted、approve、allowlist、workspace、config等判断。
- 核对缓存与状态。
很多问题不在第一次判断,而在判断后状态被复用。
- 用最小PoC回证。
源码结论最好回到运行时再验证一遍。
检索说明
优先搜这些概念或关键词:
- trust / trusted workspace
- settings / 路径或服务名
- settings / 规则 / 指令文件
- mcp、tool、server
- Shell、exec、spawn、subprocess
- 项目级配置、规则与指令文件
- 配置base URL、endpoint
可配合的静态工具
references/codeql-queries.md
references/semgrep-queries.md如仅需快速聚焦问题范围,可先参阅:
references/audit-focus-areas.md
输出表述建议
源码审计结论最好包括:
- 代码位置:入口函数、判断函数、危险调用点
- 实际行为:这一段代码会导致什么结果
- 限制条件:在哪些平台、配置、信任状态下成立
- 可利用性:用户最少需要做什么
- 运行时回证:有没有实测证据支撑
审计原则
不应只罗列代码片段。
要把这段代码为什么危险、怎样被触发、最终会造成什么影响说清楚。