011 · SkillSpector

Scan agent skills before installation (NVIDIA) · NVIDIA/SkillSpector
技能圈的杀毒引擎:装第三方 skill 前先扫一遍;对自研技能库同样适用
传播热度 7
工程完成度 9
业务相关性 7
收藏观察价值 8
综合 7.8 上手门槛 L4 · 自建或写码 许可证 Apache-2.0 Stars 17,000 Fork 1,400 数据快照 2026-10-11快照 2 天前 打开仓库 ↗
一句话定位:AI Agent 技能的装前安全扫描器。NVIDIA 官方开源,
给它一个技能,返回 0–100 风险分与 SAFE / CAUTION / DO NOT INSTALL 判定。

一、核心档案

项内容
仓库github.com/NVIDIA/SkillSpector
定位静态 + 可选 LLM 语义两段式扫描;绝不执行被扫对象
归属NVIDIA 官方维护,是其 Verified Skills 管线的扫描组件
开源时间2026-03
语言 / 许可Python 3.12+ | Apache-2.0(商用友好)
安装uv tool install git+https://github.com/NVIDIA/skillspector.git;或 Docker
输入Git 仓库 / URL / zip / 目录 / 单个文件
输出Terminal / JSON / Markdown / SARIF(可接 CI)

检测覆盖:71 条规则、17 大类

类别关注点
提示注入指令覆写、注释里的隐藏指令、外传命令、行为操纵
数据外泄外部传输、环境变量收割、文件系统枚举、上下文泄漏
MCP 工具投毒元数据里的隐藏指令(HTML 注释 / 零宽字符 / base64)、同形字欺骗、描述与行为不符
供应链未锁定的依赖、`curl \bash`、混淆或编码执行、OSV.dev 实时 CVE 查询、弃用包、抢注
越权与流氓 Agent运行时自修改、通过 cron / 启动脚本未授权持久化
其他触发器滥用、系统提示泄漏、记忆投毒、反拒答、危险代码(AST)、污点追踪、YARA 签名

风险评分:CRITICAL +50 / HIGH +25 / MEDIUM +10 / LOW +5;

含可执行脚本的技能乘 1.3 倍系数;总分 > 50 触发 "DO NOT INSTALL"。

(另一口径为 64 条规则 / 16 大类,待核实。)

二、关键数据(快照 2026-10-11)

指标数值来源
Stars17,000+FreeBuf | devtoolpicks
Stars 口径8,400周报 W25(更早口径,+5.0k/周)
Forks1,400+FreeBuf
开源时间2026-03FreeBuf
检出精度约 87%(LLM 复核后)devtoolpicks 引 NVIDIA 数据

为什么现在需要它(第三方研究数据)

  • Liu et al. 2026,样本 42,447 个技能:26.1% 至少含一个漏洞,5.2% 疑似恶意意图;

带可执行脚本的技能,出问题概率是纯文档型技能的 2.12 倍。

  • Snyk ToxicSkills(2026-02):审计 3,984 个技能,13.4% 含至少一个严重问题,

共 1,467 个恶意载荷(凭据窃取、反弹 shell、挖矿)。

  • MCP 社区注册表审计另发现 1,184+ 个恶意包。

三、真问题·硬伤 vs 建议

真问题 / 硬伤

  • 不是银弹,可被系统性绕过。云安全联盟(CSA)2026-06 报告:

Trail of Bits 成功把恶意逻辑(环境变量外泄)藏进预编译字节码,

源码看起来完全干净——只看可读源码的扫描器全部漏检。

CSA 结论:当前技能扫描器可被系统性绕过。

  • 已知盲区(官方文档明说):看不懂非英文内容;读不了图片里的文字;无法处理加密或二进制代码;

OSV.dev 连不上时退回到一份小的内置漏洞库。

  • 精度与召回要取舍:静态模式召回高但误报多(比如构建工具里的 subprocess 正常用法);

LLM 语义模式更准但要你自己的 provider 与 API Key,且这是把被扫内容送出去。

  • 有个反直觉现象:拿它扫红队技能库会直接 100 分全红——

"研究用越狱话术"和"恶意提示注入"在特征上同源。企业落地必须配白名单机制。

  • 规则数口径不一(71/17 vs 64/16),待核实。

建议 / 观察

  • 对老爷的直接价值:您在维护自研技能库(feilu-writer / novel-checker),

也会评估第三方技能。这套流程本身就是"装前扫描 → 读报告 → 再决定"的模板。

  • 更该抄的是它的方法论:**两段式(快静态 + 慢语义)、评分制、SARIF 进 CI、

基线抑制误报**。这套设计可以移植进老爷自己的技能发布流程,

做成"自研技能出厂前必过的一道闸"。

  • 用法定位:它是第一道检查点,不是唯一一道。配对使用:最小权限 + 对 CAUTION 项人工复核 +

优先选有透明历史和明确维护者的技能。

四、评分

维度评分说明
传播热度⭐ 7/101.7 万星,稳健但非爆款
工程完成度⭐ 9/10规则体系完整、四种输出、CI 集成、Docker、边界诚实
业务相关性⭐ 7/10不属三条主线,但直接服务于老爷的技能维护工作流
收藏观察价值⭐ 8/10安全方法论可移植

综合均分 7.8 / 10

五、锚点清单

  • 已验证:NVIDIA 官方维护、Apache-2.0、Python 3.12+、2026-03 开源、

"绝不执行被扫对象"、四个输出格式、评分权重与 1.3 倍脚本系数、

OSV.dev 实时查询、官方文档明列的四个盲区、CSA 的绕过结论、

Liu et al.(42,447 样本 / 26.1% / 5.2% / 2.12×)与 Snyk ToxicSkills 数据

  • 待核实:规则数(71/17 vs 64/16)、Star 准确值(8.4k 早期 vs 17k 现)、

87% 精度的独立复现

  • 未表态 / 缺失:中文内容的检测能力(官方承认是盲区)

六、给老爷的判断

建议纳入自研技能的出厂流程。 老爷自己产 skill、也装别人的 skill,两头都有风险。

它给的不只是一个命令,是"装前必须过闸"这套纪律。

注意它的天花板——CSA 已证明可被系统性绕过,所以它是第一道,不是最后一道。