# AI IDE源码安全审计

> 指导对开源AI IDE做源码安全审计。适用于审查命令过滤实现、MCP集成、 配置加载、文件写入权限模型，以及其他与Agent能力边界相关的源码路径。

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

---


# AI IDE源码安全审计

本skill用于**有源码可看**的场景。这里不做全面代码审查，重点围绕AI IDE的高风险边界做定向审计：

- 它从哪里读工作区内容
- 它把什么当成可信配置
- 它怎么决定是否能够执行命令
- 它如何处理审批、信任、路径和权限
- 它是否会把低风险输入升级成高风险行为

# 什么时候用

- 目标是开源AI IDE、CLI、插件
- 已经通过侦察知道高优先级模块在哪，需要进源码确认
- 需要验证文档说法与真实实现是否一致
- 需要为PoC或报告补实现层证据

# 审计重点

## 1. 配置加载链

看这些问题：
- 工作区、用户级、全局配置的加载顺序是什么
- 是否存在自动加载、热重载、递归搜索
- 信任工作区前后，哪些配置仍然会被读2. 提示与规则文件处理看这些问题：
- 会自动读哪些文件进入模型上下文
- 是否有限制目录、文件名、大小、优先级
- 用户提示、系统提示、工作区规则如何合并3. 命令执行与过滤看这些问题：
- 过滤逻辑发生在什么层
- 校验的是命令名、参数、完整字符串，还是AST
- Shell展开、换行、子命令、平台差异是否被考虑4. MCP、工具接入看这些问题：
- 会从哪里发现MCP配置
- 审批是按内容还是按路径缓存
- settings定义被修改后是否重新校验5. 文件写入与范围控制看这些问题：
- Agent可写哪些路径
- 是否能改写配置文件、规则文件、脚本文件
- 是否存在跨工作区、越权写、符号链接问题

# 审计流程

1. **先定模块，不要全仓库盲搜。** 根据运行行为、路由、配置入口，先圈出高风险目录。
2. **从入口追到危险动作。**
   例如：工作区文件 ->解析器 ->上下文拼接 ->模型输出 ->工具调用。
3. **找边界判断代码。**
   重点找`isTrusted`、`approve`、`allowlist`、`workspace`、`config`等判断。
4. **核对缓存与状态。**
   很多问题不在第一次判断，而在判断后状态被复用。
5. **用最小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`

# 输出表述建议

源码审计结论最好包括：

- **代码位置**：入口函数、判断函数、危险调用点
- **实际行为**：这一段代码会导致什么结果
- **限制条件**：在哪些平台、配置、信任状态下成立
- **可利用性**：用户最少需要做什么
- **运行时回证**：有没有实测证据支撑

# 审计原则

不应只罗列代码片段。

要把这段代码为什么危险、怎样被触发、最终会造成什么影响说清楚。

