16% 的 AI 编程 Agent 配置存在安全缺陷 新研究说了什么

arXiv 论文扫描 3171 个 GitHub 仓库的 AI Agent 配置,16% 存在安全缺陷:9.8% MCP 无版本锁定,3.1% 预批准任意执行,3.8% skill 预批准 shell。

16% 的 AI 编程 Agent 配置存在安全缺陷 新研究说了什么

2026 年 9 月 7 日,arXiv 发布了一篇论文 "Scanning the Harness",系统分析了 3,171 个 GitHub 仓库中 AI 编程 Agent 的配置安全。结论:16.0% 的配置存在安全缺陷,16.7% 存在任何类型的确认缺陷。这不是模型越狱问题,而是 Agent 配置本身的供应链风险。

作者CodePass 技术编辑

什么是 Harness

论文把 AI Agent 的配置层称为 "harness"(.harness):instruction 文件、skills、hooks、MCP 服务器声明、subagent 定义。这些配置是开发者编写和共享的,从 marketplace 和公开仓库安装,以开发者权限运行,没有 lockfile、没有安装时检查、也没有描述组件权限的词汇表。

这和 npm/pip 的依赖管理形成对比。传统包管理有版本锁定、安装时校验和漏洞数据库。Agent 配置的安装目前几乎没有这些保护。

三类安全缺陷

论文只统计了从字节内容可以直接判定的、后果是安全暴露的规则:

MCP 无版本锁定(9.8%):安装的 MCP 服务器没有 pin 版本号。如果 MCP 服务器后续更新包含恶意代码,你的 Agent 会自动使用新版本。

预批准任意执行(3.1%):配置看起来有范围限制(比如 Bash(python:*)),但实际上预批准了任意 Python 代码执行。攻击者可以通过构造特定的 Python 命令绕过表面上的限制。

Skill 预批准 shell(3.8%):安装的 skill 预批准了 shell 访问权限。3.7% 的 skill 集合携带这类预批准,marketplace 扫描可以发现。

研究方法

论文的验证流程比简单的静态扫描严格得多:

  1. 独立实现从 pinned commit 重新推导每个发现
  2. LLM 裁决器对所有分歧做判断(prompt 已公开)
  3. 第二个独立模型 session 重新检查每个 counted pair

原始扫描器在同样规则下的误报率是 25.5%,经过三层验证后降到 16.0% 的安全缺陷率。论文明确说没有确认任何凭证外泄路径。

对日常开发者的实际建议

检查你的 Agent 配置:

  1. MCP 服务器是否 pin 了版本?在 .cursor/mcp.json 或 Claude Code 的 MCP 配置里,确认每个 server 有明确的版本号
  2. 预批准的工具范围是否过宽?Bash(*)Bash(python:*) 这类配置实际上等于无限制
  3. 从 marketplace 安装的 skill 是否预批准了 shell?安装前读 skill 的 manifest

这和 GitSpawn 漏洞 是同一类问题的不同层面:GitSpawn 是仓库级别的攻击(恶意 .git/config),这篇论文关注的是 Agent 配置级别的供应链风险(恶意或不当的 skill/MCP/hook 配置)。

论文作者发布了完整的 instrument、corpus manifest、prompt 和所有 verdict,可以复现。

参考资料