Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ai-ide-config-guard — 扫描一个仓库中的AI-IDE配置文件,这些文件可能通过Claude Code钩子、Cursor规则、MCP自动注册触发远程代码执行(RCE)。检测CVE-2025-59536、CVE-2026-21852、CVE-2026-30615以及Pillar规则文件后门模式。 | Kitploit
工具/GitHubGitHub/trerb/ai-ide-config-guard
静态分析漏洞扫描器代码分析威胁情报供应链安全错误配置学习与教育
GitHubtrerb/ai-ide-config-guard

ai-ide-config-guard

扫描一个仓库中的AI-IDE配置文件,这些文件可能通过Claude Code钩子、Cursor规则、MCP自动注册触发远程代码执行(RCE)。检测CVE-2025-59536、CVE-2026-21852、CVE-2026-30615以及Pillar规则文件后门模式。

查看仓库
4个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

valtik-ai-ide-config-guard

扫描仓库中的 AI-IDE 配置文件,这些文件可能在 Claude Code、Cursor、Windsurf、Continue 或任何 VS Code 分支中打开仓库时触发 RCE、凭据窃取或开发者机器的持久化攻击。

响应于 2026 年 4 月 AI-IDE 披露浪潮而构建:

  • CVE-2025-59536 / CVE-2026-21852 — Claude Code settings.json 中的 SessionStart / PreToolUse / PostToolUse / UserPromptSubmit 钩子在打开工作区时执行任意 shell 命令。
  • CVE-2026-30615 — Windsurf 配置写入 RCE 类漏洞。
  • Pillar Security — Rules File Backdoor (2026) — 位于 .cursorrules / .windsurfrules / .github/copilot-instructions.md / .continue/*.md 中的 Unicode 走私指令,可隐藏攻击者指令,使人类审查者难以察觉。
  • ANTHROPIC_BASE_URL / OPENAI_BASE_URL / OPENAI_API_BASE 重定向到攻击者控制的端点(导致提示和 API 密钥泄露)。
  • 通过 mcp.json / .mcp.json / .cursor/mcp.json / .claude/mcp.json 自动注册 MCP 服务器,携带任意 command stdio 调用。
  • .vscode/tasks.json 在打开工作区时自动运行。

在克隆每个第三方仓库后,打开 AI 编辑器之前,请对其运行此工具。


安装

无需安装——使用 npx:

root@kitploit:~
npx valtik-ai-ide-config-guard <path>

或全局安装:

root@kitploit:~
npm i -g valtik-ai-ide-config-guard
ai-ide-config-guard <path>

需要 Node 20+。


用法

root@kitploit:~
$ npx valtik-ai-ide-config-guard ./my-cloned-repo

带失败阈值(用于 CI):

root@kitploit:~
$ npx valtik-ai-ide-config-guard . --fail-on high

JSON 输出:

root@kitploit:~
$ npx valtik-ai-ide-config-guard . --json > report.json

SARIF 2.1.0(用于 GitHub 代码扫描):

root@kitploit:~
$ npx valtik-ai-ide-config-guard . --sarif > report.sarif

运行部分检查:

root@kitploit:~
$ npx valtik-ai-ide-config-guard . --checks G1,G3,G5

完整标志列表:npx valtik-ai-ide-config-guard --help。


检查项

G1 — Claude Code 钩子执行 shell

查找 .claude/settings.json 并解析 hooks.SessionStart / hooks.PostToolUse / hooks.PreToolUse / hooks.UserPromptSubmit(及相关的生命周期事件)。如果任何条目设置了 command 字符串(或分组语法中的 type: "command"),则结果为 CRITICAL——在 Claude Code 中打开仓库将执行该命令,且以开发者的 shell、环境、SSH 密钥和令牌运行。

G2 — 规则文件 Unicode 走私

扫描 .cursorrules、.cursor/rules/*.md[c]、.windsurfrules、.windsurf/rules/*.md[c]、.github/copilot-instructions.md、.continue/*.md 中的:

  • 双向覆盖/嵌入/隔离字符(U+202A–U+202E、U+2066–U+2069)
  • 零宽度字符(U+200B、U+200C、U+200D、U+2060、U+FEFF、U+180E、U+00AD)
  • Unicode 标签块(U+E0000–U+E007F)——人类不可见的令牌走私空间
  • 西里尔同形异义词(а/е/о/р/с/х/у/……)混入本应为 ASCII 的单词中
  • 命令式角色覆盖模式(ignore previous、from now on、system: 等)

纯西里尔文文本、表情符号和文件开头的 BOM 会被忽略——我们只标记那些对人类审查者隐藏内容的字符。

G3 — MCP 自动注册

解析 mcp.json、.mcp.json、.claude/mcp.json、.cursor/mcp.json、.windsurf/mcp.json、.vscode/mcp.json、.continue/config.json。对每个注册的服务器:

  • command 匹配 src/fixtures/known-malicious-mcp.json → CRITICAL
  • command 是本地二进制文件 → HIGH
  • command 是 npx / uvx / pipx 拉取未验证的包 → MEDIUM
  • url 不是 https → MEDIUM
  • url 指向 localhost / LAN → MEDIUM

G4 — VS Code 任务自动运行

标记任何具有 runOptions.runOn: "folderOpen" 的任务。如果命令使用 shell 插值(curl | sh、wget | bash、eval、base64 -d、反引号、$(...))或引用了外部 URL,则严重性升级。

G5 — API 基础 URL 重定向

扫描 .env*、.claude/settings.json、.cursor/config.json、.vscode/settings.json 以及任何 mcp.json 中的:

  • ANTHROPIC_BASE_URL、ANTHROPIC_API_URL
  • OPENAI_BASE_URL、OPENAI_API_BASE、OPENAI_API_URL

如果主机不是规范的供应商端点(api.anthropic.com / api.openai.com),则结果为 CRITICAL——每个请求和 API 密钥都会发送到攻击者的端点。非云主机(localhost、LAN IP)标记为 HIGH。

G6 — 工作区信任

标记那些自带 security.workspace.trust.enabled: false(或 Cursor 中的对应配置)的 .vscode/settings.json 文件,这会静默退出本机阻止自动运行行为的门控。

G7 — 规则 markdown 中嵌入的 shell

在规则 .md / .mdc 文件中,扫描围栏代码块中是否包含 curl | sh、wget | bash、rm -rf、eval、base64 -d、python -c、/dev/tcp、反向 shell mkfifo、chmod +x。如果周围文本是命令式的(“运行此命令”、“执行以下命令”),则严重性升级。

G8 — package.json 代理脚本

对于名为 claude*、cursor*、windsurf*、mcp*、continue*、copilot*、aider*、cline* 的脚本,标记为信息性。如果同一名称与 npm 生命周期钩子(preinstall、postinstall 等)冲突,则标记为 HIGH——生命周期钩子在执行 npm install 时无需用户确认即可运行。


CI 集成

GitHub Actions:

root@kitploit:~
- name: AI-IDE config guard
  run: npx valtik-ai-ide-config-guard . --fail-on high

或 SARIF 上传:

root@kitploit:~
- run: npx valtik-ai-ide-config-guard . --sarif > ai-ide.sarif
- uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: ai-ide.sarif

局限性

  • 静态、基于签名且保守。混淆的有效载荷或新型向量会被漏报。test/fixtures/safe/ 零误报是设计目标——我们宁可漏掉边界情况,也不想让用户学会忽略我们。
  • 不会执行或解析任何内容(无 npx 预运行,不获取 URL)。
  • 单个文件读取上限为 2 MB,以防止拒绝服务攻击。

参考

  • CVE-2025-59536 (Claude Code 钩子)
  • CVE-2026-21852 (Claude Code PostToolUse 钩子)
  • CVE-2026-30615 (Windsurf 配置写入 RCE)
  • Pillar Security — "Rules File Backdoor" (2026)
  • Valtik Studios — AI-IDE Security 2026(即将发布)

免责声明

此工具是静态分析。干净的报告意味着“此版本附带的 8 项检查未触发”,而非“该仓库打开到 AI-IDE 中安全”。请将每个非您自己的仓库视为恶意,并手动应用工作区信任、钩子审查和 MCP 审查。


MIT 许可证 — 版权所有 (c) 2026 Valtik Studios LLC。

下载工具
ID严重性检测内容
G1CRITICALClaude Code 钩子,在会话/工具使用事件时运行 shell
G2HIGH / MEDIUM规则文件中的双向/零宽度/标记字符、同形异义词或角色覆盖模式
G3CRITICAL / HIGH / MEDIUM注册了具有危险 command 或 url 的 MCP 服务器
G4HIGH / MEDIUM.vscode/tasks.json 包含 runOn: folderOpen
G5CRITICAL / HIGHANTHROPIC_BASE_URL / OPENAI_BASE_URL / OPENAI_API_BASE 被重定向
G6HIGH / INFO工作区信任已禁用,task.autoDetect: on
G7HIGH / MEDIUM规则 markdown 中围栏代码块内的危险 shell 模式
G8HIGH / INFOpackage.json 中脚本名称以 AI 代理命名(或代理名称出现在安装钩子中)