智能体技能生态正在爆发,Claude Code、Codex CLI、Gemini CLI 的技能市场里每天都在上新。但很少有人想过一个问题:你随手装进来的技能文件,本质上是一段会被智能体执行的自然语言指令和脚本,它让你删文件、外传数据、执行陌生命令时,智能体多半会照办。NVIDIA 对 31132 个技能样本的分析显示,26.1% 存在漏洞,5.2% 有明显恶意意图。装一个来路不明的技能,风险和执行一段陌生脚本没有区别。

SkillSpector 就是为此而生的扫描器:在安装任何智能体技能之前,先回答「这个东西到底安不安全」。它是 NVIDIA Verified Skills 流水线的组成部分,通过审查的技能才会进入 NVIDIA 官方技能目录。

项目基本信息

信息项详情
项目名称SkillSpector
GitHub地址https://github.com/NVIDIA/SkillSpector
项目描述扫描智能体技能中的漏洞与恶意模式,安装前给出风险评分
作者NVIDIA
开源协议Apache License 2.0
开源状态公开状态
LanguagesPython
支持平台Windows / macOS / Linux
最后更新2026-10-23

一、项目介绍

SkillSpector 是一个针对 AI 智能体技能的安全扫描工具,能在你安装技能之前检测漏洞、恶意模式和安全风险。它支持的输入相当灵活:Git 仓库、URL、zip 包、目录或单个 SKILL.md 文件都能扫。

检测能力覆盖 71 种漏洞模式,横跨 17 个类别,包括提示词注入、数据外传、权限提升、供应链攻击、过度代理、输出处理缺陷、系统提示词泄漏、记忆投毒、工具滥用、危险代码(基于 AST 分析)、污点追踪、YARA 签名、MCP 最小权限与 MCP 工具投毒等。分析分两阶段:先跑快速静态分析,可选叠加 LLM 语义评估。它还会实时查询 OSV.dev 的 CVE 数据,断网时自动回落离线模式。

输出支持终端、JSON、Markdown 和 SARIF 四种格式,最终给出 0 到 100 的风险评分、严重性标签和处理建议。

二、核心优势

第一,规则库来自一线实践。71 种模式直接对应真实技能生态里出现过的攻击手法,不是泛泛的静态检查清单。

第二,误报可管理。基线抑制机制允许你用 glob 规则或指纹把已知问题标记为基线,重扫时只报新问题,适合放进 CI 持续跑。

第三,不挑运行环境。有 Python 用 uv 或 pip 装,没有 Python 用 Docker 跑,还能作为 Pi 和 OpenCode 的扩展嵌进智能体会话内部,边聊边扫。

第四,资源有硬上限。对远程下载和压缩包输入强制执行 100 MiB 单次摄取上限和 10000 个 zip 成员上限,超限直接失败关闭,zip 炸弹这类手法被挡在门外。

三、适用场景

最直接的用法是个人装技能前的例行检查:从社区市场看中一个技能,先扫一遍再决定装不装。

第二类是企业内部技能治理:把 SkillSpector 接进 CI,所有提交到内部技能仓库的技能必须通过扫描,配合 SARIF 输出直接进代码审查流程。

第三类是技能作者的自检:发布前扫一遍自己的作品,避免无心写出的命令拼接或环境变量读取被误判为恶意行为。

四、安装教程

最快的路径是用 uv 装 CLI:

uv tool install git+https://github.com/NVIDIA/skillspector.git

如果还要用 skillspector mcp 启动 MCP 服务,安装时加上扩展:

uv tool install 'skillspector[mcp] @ git+https://github.com/NVIDIA/skillspector.git'

源码安装走标准流程:克隆仓库后 uv venv .venv 建虚拟环境并激活,再执行 make install。要求 Python 3.12 或更高版本。

没有 Python 环境就用 Docker:

docker build -t skillspector .
docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm

常见问题:Python 版本低于 3.12 会导致依赖解析失败,先升级;启用 LLM 语义分析需要配置 SKILLSPECTOR_PROVIDER 和对应 API Key,不配置就加 --no-llm 只跑静态分析。

五、使用示例

扫描一个本地技能目录:

skillspector scan ./my-skill/

扫描远程 Git 仓库或单个文件同样直接:

skillspector scan https://github.com/user/my-skill
skillspector scan ./SKILL.md

典型输出包含按严重性排列的发现列表、每一项对应的规则类别和代码位置、OSV 实时查询结果,以及一个 0 到 100 的总分。加 --format json --output report.json 可以把报告落盘,供 CI 或其他工具消费。基线用法是先 --update-baseline 记录已知问题,之后每次扫描只看新增风险。

六、常见问题

扫描结果能保证安全吗?不能。静态分析加可选的 LLM 评估能拦下绝大多数已知模式,但无法证明一个技能绝对无害,高风险操作仍建议人工复核报告。

支持哪些智能体的技能?针对通用的 Agent Skills 标准文件(如 SKILL.md 及配套脚本),Claude Code、Codex CLI、Gemini CLI 的技能都能扫。

离线环境能用吗?能。OSV 查询会自动回落离线模式,LLM 评估关掉即可,静态分析不依赖网络。

七、总结

技能生态越繁荣,供应链风险就越真实。SkillSpector 把「装技能前先扫一遍」变成了一条可以自动化的流程,规则库由 NVIDIA 维护且持续更新,个人和企业都值得把它加进自己的智能体工作流。对一个扫描器来说,最好的评价就是它让你再装新技能时多了一层底气。