6 月 12 日,NVIDIA 开源了一个值得每个 Agent 用户关注的项目——SkillSpector。这是一个专门扫描 AI Agent Skill 安全性的工具,在你下载运行别人的 Skill 之前,先问它一遍:“这个 Skill 安全吗?”
为什么需要 SkillSpector
AI Agent 的 Skill(或称为 skill、插件、工具描述)正在成为新的攻击面。它的风险模型和其他软件供应链不同:
传统软件供应链:
下载二进制 → 信任 + 签名验证 → 运行
Agent Skill 供应链:
从 GitHub 下载 .md 文件 → 立即执行 → 代码有你的全部权限
Skill 不是普通文本。它打包了真实可执行的指令,Agent 会以你的身份和权限运行这些代码。一个看起来无害的”帮你省 10 分钟”的 Skill,可能正在:
- 读取
AWS_ACCESS_KEY_ID、OPENAI_API_KEY等环境变量 - 把文件系统内容悄悄发送到外部服务器
- 在系统提示中注入恶意指令,操纵 Agent 行为
NVIDIA 的团队引用了研究数据:26.1% 的公开 Skill 包含漏洞,5.2% 含恶意代码。 这意味着每 4 个 Skill 里就有 1 个有问题。
SkillSpector 能做什么
64 种漏洞模式 × 16 个类别
这是目前覆盖面最广的 Agent Skill 安全扫描方案:
| 类别 | 模式数 | 典型高风险项 |
|---|---|---|
| Prompt Injection | 5 | 指令覆写、隐藏指令、数据外泄命令 |
| Data Exfiltration | 4 | 环境变量窃取、上下文泄漏 |
| Privilege Escalation | 3 | Sudo/Root 执行、凭据访问 |
| Supply Chain | 6 | 未锁定依赖、混淆代码、已知 CVE 依赖 |
| Excessive Agency | 4 | 无限制工具访问、自主决策越权 |
| Behavioral AST | 8 | exec()、eval()、subprocess 调用链 |
| Taint Tracking | 5 | 凭据外泄链、文件读取到网络传输 |
| YARA Signatures | 4 | 恶意软件、Webshell、加密矿工匹配 |
| MCP Least Privilege | 4 | 通配符权限、过度声明权限 |
| MCP Tool Poisoning | 4 | Unicode 欺骗、描述行为不匹配 |
以及其他 6 个类别(Output Handling、System Prompt Leakage、Memory Poisoning、Tool Misuse、Rogue Agent、Trigger Abuse),共计 64 种检测模式。
两阶段分析
Skill 文件 → 第一阶段:静态分析(秒级)
├─ 64 种漏洞模式匹配
├─ YARA 签名匹配
├─ OSV.dev 实时 CVE 查库
└─ Taint Tracking 数据流追踪
→ 第二阶段:LLM 语义分析(可选)
├─ 解读代码意图
├─ 清除误报
└─ 发现静态分析遗漏的恶意行为
→ 输出:风险评分 0-100 + 判定
第一阶段是快速的静态扫描,覆盖全部 64 种模式。第二阶段是可选的 LLM 分析,用模型理解 Skill 的真实意图,清除误报,发现模式匹配遗漏的恶意行为。
风险评分模型
| 严重度 | 分值 | 判定 |
|---|---|---|
| CRITICAL | +50 | DO NOT INSTALL |
| HIGH | +25 | DO NOT INSTALL |
| MEDIUM | +10 | CAUTION |
| LOW | +5 | SAFE |
含有可执行脚本的 Skill,分值乘以 1.3x 加权。
| 总分范围 | 判定 | 建议 |
|---|---|---|
| 0–20 | 🔵 SAFE | 可以安装 |
| 21–50 | 🟡 CAUTION | 谨慎安装 |
| 51–80 | 🔴 DO NOT INSTALL | 不要安装 |
| 81–100 | 🚫 DO NOT INSTALL | 绝对不要安装 |
快速上手
# 安装
git clone https://github.com/NVIDIA/skillspector.git
cd skillspector
uv venv .venv && source .venv/bin/activate
make install
# 扫描各种来源
skillspector scan ./my-skill/ # 本地目录
skillspector scan ./SKILL.md # 单个文件
skillspector scan https://github.com/user/skill # GitHub 仓库
skillspector scan ./skill.zip # 压缩包
# 输出格式
skillspector scan ./my-skill/ --format json --output report.json
skillspector scan ./my-skill/ --format sarif --output report.sarif
# 仅静态扫描(不用 LLM)
skillspector scan ./my-skill/ --no-llm
LLM 分析配置
| 提供商 | 环境变量 | 默认模型 |
|---|---|---|
| OpenAI | OPENAI_API_KEY | gpt-5.4 |
| Anthropic | ANTHROPIC_API_KEY | claude-opus-4-6 |
| NVIDIA Build | NVIDIA_INFERENCE_KEY | deepseek-v4-flash |
| 本地(Ollama/vLLM/llama.cpp) | — | 自定义 |
典型输出
SkillSpector Security Report
Skill: suspicio
Risk Score: 75 (HIGH) — DO NOT INSTALL
Found 3 issues:
🔴 [CRITICAL] Rogue Agent — Self-Modification
Detected: skill overwrites its own definition at runtime
Location: on_skill_load()
🔴 [HIGH] Supply Chain — Obfuscated Code
Detected: base64-encoded payload decoded at runtime
Location: step_3()
🟡 [MEDIUM] Prompt Injection — Hidden Instructions
Detected: system prompt contains exfiltration commands
Location: instructions.md:12
与现有工具链的关系
SkillSpector 填补了 Agent 安全工具链中一个明确的空白:
| 工具 | 解决的问题 | 检查时机 |
|---|---|---|
| Trajeckt | Agent 运行时工具调用序列强制 | 运行时 |
| Guardian Runtime | Token 预算、密钥泄漏阻断 | 运行时 |
| Azure Container Apps 沙箱 | 进程级硬件隔离 | 运行时 |
| SkillSpector | Skill 安装前安全检测 | 安装前 |
| Unit 42 Trust No Skill | Skill 完整性验证框架 | 构建/部署 |
前三个专注于运行时的行为管控,SkillSpector 专注于安装前的安全准入——这是一个关键的”左移”安全实践,在恶意代码运行之前就把它拦下来。
结语
NVIDIA 开源 SkillSpector 本身就是一个信号——Skill 供应链安全已经从学术研究进入了工程实践。Apache 2.0 许可、2.4k Stars、支持 Claude Code / Codex CLI / Gemini 三大生态,这可能是 2026 年夏季 Agent 安全领域最重要的开源项目之一。
在你下一次从 GitHub 复制粘贴一个 Skill 之前,花 10 秒跑一下 skillspector scan,可能就省掉了一次数据泄漏事故。
参考资料:
文档信息
- 本文作者:zhupite
- 本文链接:https://zhupite.com/sec/nvidia-skillspector-agent-skill-security-scanner.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)