SkillSpector

装技能前先扫一遍——31,132 个技能里 26.1% 含漏洞、5.2% 疑似恶意意图

项目速览

项目 内容
仓库 NVIDIA/SkillSpector
语言 Python 3.12+
Stars 21,730(2026-10-26),Forks 1,912
协议 Apache-2.0
状态 2026-03-21 建库
定位 Agent 技能安装前的安全扫描器

它想解决什么问题

Agent 技能的信任模型有大问题:一个技能 = 一段 Markdown + 可能的脚本 + 工具调用权限。它能读你的文件、调你的工具、改你的系统提示词——而过去安装一个技能,基本等于”看看 README 觉得不错就装了”。

SkillSpector 回答一个具体问题:”这个技能装进我的 Agent 之前,安全吗?” 它披露的数据相当提神:在研究数据集的 31,132 个技能子集中,26.1% 含有漏洞,5.2% 显示疑似恶意意图。

核心机制拆解

1. 71 种漏洞模式、17 个类别。 提示注入、数据外泄、权限提升、供应链、过度代理、输出处理、系统提示词泄露、记忆投毒、工具滥用、rogue agent、反拒绝、触发词滥用、危险代码(AST 分析)、污点追踪、YARA 签名、MCP 最小权限、MCP 工具投毒——基本覆盖了技能攻击面的全部想象空间。

2. 两阶段分析 + 真实漏洞数据。 快速静态分析打底,可选 LLM 语义评估补刀;实时对接 OSV.dev 拉真实 CVE 数据,离线时自动降级。

3. 输入输出都考虑到了工程落地。 输入支持 Git 仓库、URL、zip、目录、单文件;输出支持终端、JSON、Markdown、SARIF 报告,带 0–100 风险评分与处置建议。基线压制(baseline)让你接受已知发现,重扫只报新问题——这才是能进 CI 的形态。

4. 就手的使用方式。 装进 Agent 内部也简单:有 Pi 扩展(会话内直接扫)和 OpenCode 扩展(/skillspector 命令);Docker 一条命令,不装 Python 也能跑。

5. 它还是 NVIDIA “Verified Skills” 流水线的一环。 扫描、评估、签名,通过后才发布到 NVIDIA skills 目录——换句话说,NVIDIA 在给技能生态建”应用商店的审核机制”。

安装与上手

点评

亮点是把技能安全当成供应链问题来处理:静态规则 + 语义评估 + 真实 CVE + SARIF 输出,这套组合是成熟安全工具的标准配置,而不是”AI 安全检查”的营销包装。

局限:静态规则必然存在误报,需要基线压制与人工复核;LLM 语义评估增加成本与不确定性;26.1% 的漏洞率是基于特定技能数据集的研究结论,别直接套到你看的某个具体技能上;技能的攻击面在快速演化,规则库需要持续更新。

适合人群:Agent 技能重度用户(装第三方技能前先扫一遍,应该成为肌肉记忆);企业安全团队(把技能纳入软件供应链管理);技能作者(发布前自扫,给用户一个”已验证”的信任信号)。