
AI技术趋势--英伟达扫了4.2万个AI Skill,发现26.1%有安全漏洞
英伟达的研究人员做了一件很多人想过但没人做的事:把市面上所有 AI Agent Skill 扫了一遍。42447 个。结果发现四分之一有安全问题——5.2% 可能是故意的。
本文是一篇行业分析,基于公开论文和 GitHub 仓库数据。
发生了什么
NVIDIA 开源了 SkillSpector,11.7K 星。它不只是一个扫描器——背后是一篇学术论文《Agent Skills in the Wild: An Empirical Study of Security Vulnerabilities at Scale》(Liu et al., 2026)。
核心发现:在 42447 个公开 Skill 中,26.1% 至少包含一个安全漏洞。其中 5.2% 的 Skill 有"明确的恶意意图"。含可执行脚本的 Skill 风险是纯声明式 Skill 的 2.12 倍。
这组数字意味着什么?如果 Claude Code 或 Codex CLI 的 Skill 市场继续以目前速度增长,到 2026 年底可能有过万的 Skill 在流通。按 26% 的漏洞率算,你每装 4 个 Skill,就有 1 个可能不安全。
核心创新
SkillSpector 的架构分两层。
第一层是静态分析:68 种漏洞模式,覆盖 17 个风险类别。不是简单的关键词匹配——它做了 Python AST 行为分析,能检测 exec()、eval()、subprocess 调用的上下文路径。还有一个 SC4 模块,实时查询 OSV.dev 的 CVE 数据库做依赖链分析。
第二层是可选的 LLM 语义分析。静态分析召回率高但误报不少,LLM 层过滤掉假阳性后精度提到约 87%。
这两层叠加的结果是:静态扫一遍只要几秒(--no-llm),适合 CI/CD 流水线做门禁;加 LLM 分析会慢一些但更准,适合人工审查。
它还能部署成 MCP Server。Claude Code 或 Codex CLI 装之前先调 SkillSpector 扫一下——扫不过就不装。这就是运行时门禁,不是事后审计。
能用在哪些场景
-
个人用户装 Skill 前扫描。
skillspector scan ./my-skill/一行命令,几秒钟出结果。分数 0-20 分 Safe,21-50 Caution,51 以上直接别装。 -
Skill 市场做上传审核。 如果 Claude Code 的 Superpowers 市场或 Codex CLI 的 Skill 库集成 SkillSpector,每个提交的新 Skill 自动扫描。26% 的漏洞率说明这个需求不是可选项。
-
企业内网 CI 流水线。 团队内部维护 Agent Skill 仓库时,每次 PR 触发
skillspector scan --format sarif输出 SARIF 报告,做安全门禁。含可执行脚本的 Skill 风险 2.12 倍——这个数字对合规团队很管用。
带来了什么变化
| 指标 | 之前 | 之后 |
|---|---|---|
| Skill 安全审查 | 靠人工看 README 和代码 | 自动化 68 模式扫描 + CVE 查询 |
| 恶意 Skill 检出 | 几乎为零 | 5.2% 的恶意率被量化 |
| 安装前审查速度 | 无标准化工具 | 一行命令,静态扫描秒级 |
| CI/CD 集成 | 无 | SARIF 报告 + 退出码做门禁 |
这是未来的方向吗?
是的,而且比很多人意识到的更紧迫。
Skill 生态正在从"小众玩具"变成"基础设施"。今天装一个 Claude Code Skill 可能只是帮你写 PPT,三个月后可能就是帮你部署生产服务。信任链必须跟上。SkillSpector 给出了一个可操作的开源方案——不是写白皮书,是直接给你一个能跑的工具。
但我不确定的是:扫描器本身会不会成为攻击目标?攻击者完全可以针对 SkillSpector 的 68 个模式做反侦察。这不是一场静态的猫鼠游戏。
对创业者的意义
两条:第一,如果你在维护任何 Agent 工具链(不管是内部还是对外的),把 Skill 安全扫描加进去。SkillSpector 的 MCP Server 模式可以直接作为运行时门禁。
第二,如果 Skill 安全扫描像代码安全扫描一样成为标配——谁能做中文 Skill 的本地化扫描服务?英伟达的扫描器默认支持英文,中文 Skill 的上下文(如提示词注入的变体、国内供应链风险)可能需要定制规则库。这是一个新的垂直赛道。
延伸思考
三个问题——如果有人读到这篇文章碰巧在研究相关方向,我想听听你的看法。
第一个,私有 Skill 的盲区。 论文扫的是公开市场上的 4.2 万个 Skill。但我在用 Hermes 跑自己的工作流时,最核心的 Skill 都不是从市场下载的——是我自己写的、存在本地 .claude/ 目录下的。这些私有 Skill 有多少安全问题?可能更安全(内部使用,不需要隐藏恶意意图),但也可能更不安全(没人审查过,写的时候压根没想过安全这件事)。论文没有覆盖私有 Skill 的数据,而我认为这恰恰是实际使用中风险最高的场景——毕竟攻击者在公开市场上放一个恶意 Skill 很快就会被发现,但在你的本地目录里放一个,可能几个月都不会有人看第二眼。
第二个,那 13% 的误报漏报到底是什么。 LLM 语义分析把精度提到 87%——但这个数字本身就是个黑箱。剩下 13% 被漏掉的漏洞是哪种类型?提示词注入还是供应链攻击?误报是哪种模式最容易误判?知道这些分布比知道"87%"这个总数重要得多。因为如果是提示词注入漏报率高——那说明 LLM 本身对语言操控的识别还不如规则匹配。这会是一个很有意思的结论,但论文没展开。
第三个,扫描器的军备竞赛。 SkillSpector 检测的是它已知的 68 种模式。但攻击者也在读这个 README。下周就会有人写出专门绕过 AST1-AST9 的代码结构,用动态导入链替代显式 exec() 调用。扫描器怎么跟上?规则更新能有多快?这个问题不仅是 SkillSpector 的——所有依赖签名/模式匹配的安全工具都面对同一个困境。
本文数据来源于 GitHub 仓库(NVIDIA/SkillSpector,Apache 2.0协议)及关联论文(Liu et al., 2026),数据截至 2026 年 7 月 1 日。