SkillSpector:NVIDIA 开源的 AI Agent Skill 安全扫描神器
总结
SkillSpector 是 NVIDIA 开源的一款 AI Agent Skill 安全扫描工具,专门解决”从网上发现一个好用的 Skill → 直接装到拥有文件系统权限的 Agent 里”这段空白期的安全问题。研究数据显示,26.1% 的社区 Skill 存在安全漏洞,5.2% 呈现可疑恶意意图——SkillSpector 用自动化扫描填补了这个供应链缺口,支持 71 种漏洞模式、17 个风险类别,输出风险评分和结构化报告,GitHub 截至 2026-09-08 已斩获 16,532 Star,成为 Agent Skill 安全领域的标杆项目。
功能与原则
SkillSpector 解决的核心问题是:Skill 作为第三方代码,运行在拥有终端、文件系统和工具调用权限的 Agent 上下文中,但安装前几乎没有任何安全审查机制。 项目遵循三个设计原则:
- 安装前门控(Gate before install):不依赖”信任作者”的软方法,而是提供可编程的自动化安全判断;
- 两阶段分析(Static + LLM):先用静态规则快速过滤高危模式,再用 LLM 语义分析捕捉需要上下文才能判断的隐蔽漏洞;
- CI/CD 友好:结构化输出(JSON/SARIF)、稳定退出码、可基线抑制误报,天然融入自动化流水线。
认可度
| 指标 | 数据 |
|---|---|
| GitHub Star | 16,532(截至 2026-09-08) |
| Fork | 约 1,200+ |
| 漏洞模式覆盖 | 71 种,覆盖 17 个类别 |
| 提交频率 | 2026-09-07 当天仍有 commit,持续活跃 |
| 所属生态 | NVIDIA Verified Skills 官方流水线 |
近期在 GitHub Trending 和安全社区(HN、dev.to)多次出现在 Agent Security 相关讨论中,NVIDIA 官方将其作为 Skill 商店的预审工具。
链接
GitHub:https://github.com/NVIDIA/SkillSpector
原作者
NVIDIA(英伟达)——作为全球 AI 硬件与软件生态的核心参与者,NVIDIA 推出 SkillSpector 标志着头部厂商开始将 Agent Skill 安全纳入基础设施标准流程,而非仅依赖社区自律。
介绍
AI Agent Skill 是近年来快速崛起的一种可复用能力包——一个描述工作流的 SKILL.md 文件,可以让 Claude Code、Codex CLI、Gemini CLI 等编程 Agent 获得网页抓取、代码审查、数据分析等专用技能。但这些 Skill 本质上是第三方代码,执行时拥有 Agent 的全部权限(文件系统写、终端执行、API 调用),安全风险与日俱增。
SkillSpector 由 NVIDIA 安全研究团队开发,基于对大量社区 Skill 的分析,发现 26.1% 的 Skill 包含漏洞,5.2% 呈现恶意意图。这些漏洞涵盖提示词注入(让 Agent 执行非预期指令)、数据外泄(将项目代码发送至第三方)、权限滥用(调用额外工具)、供应链风险(依赖被篡改的包)等多个维度。
项目是 NVIDIA Verified Skills 流水线的重要组成部分:通过 SkillSpector 扫描并达到安全标准的 Skill 才会进入 NVIDIA 官方 Skills 目录对外发布,为整个生态提供了可参考的”安全认证”标杆。
特点
- 71 种漏洞模式,覆盖 17 个安全类别:包括提示词注入(Prompt Injection)、数据外泄(Data Exfiltration)、权限提升(Privilege Escalation)、供应链风险(Supply Chain)、过度授权(Excessive Agency)、系统提示泄露(System Prompt Leakage)、内存污染(Memory Poisoning)、工具滥用(Tool Misuse)、恶意 Agent(Rogue Agent)、AST 危险代码检测等;
- 两阶段分析架构:第一阶段快速静态扫描(无需 LLM 调用,成本低、速度快),第二阶段可选 LLM 语义分析(捕捉需要上下文判断的复杂漏洞);
- 多格式输入:支持本地目录、单个 SKILL.md 文件、Git 仓库 URL、ZIP 压缩包等多种来源;
- 多格式输出:终端彩色报告、JSON(机器可读)、Markdown(文档化)、SARIF(CI/CD / IDE 集成);
- 实时 CVE 查询:对接 OSV.dev 实时漏洞数据库,同时具备离线降级能力;
- 风险评分 + 处置建议:输出 0-100 的综合风险评分,附 SAFE / CAUTION / DO_NOT_INSTALL 三级建议,退出码与建议联动(≤50 → 0,>50 → 1);
- 基线误报抑制:可通过指纹或规则基线标记已知问题,后续扫描只报新发现,避免误报累积;
- Docker 免装支持:提供官方 Docker 镜像,无需配置 Python 环境即可运行;
- Pi 工具扩展:可作为 Agent 内部工具运行,在会话中实时扫描待安装 Skill;
- 批量扫描:contrib/batch_scan 支持并发扫描大量 Skill,配合多 API Key 池提升吞吐量。
使用方法
安装
方式一:uv(推荐,CLI 专用)
uv tool install git+https://github.com/NVIDIA/skillspector.git
# 后续更新
uv tool update skillspector
方式二:pip
pip install skillspector
方式三:Docker(无需装 Python)
docker build -t skillspector .
基本调用
# 扫描本地 Skill 目录(纯静态,无需 API Key)
skillspector scan ./my-skill/ --no-llm
# 扫描 GitHub 仓库
skillspector scan https://github.com/user/my-skill
# 扫描单个 SKILL.md 文件
skillspector scan ./SKILL.md
# 输出 JSON 报告
skillspector scan ./my-skill/ --format json --output report.json
# 输出 SARIF(接入 CI/CD)
skillspector scan ./my-skill/ --format sarif --output report.sarif
# 启用 LLM 语义分析(需配置 API Key)
export SKILLSPECTOR_PROVIDER=anthropic
export ANTHROPIC_API_KEY=sk-ant-...
skillspector scan ./my-skill/
批量扫描
python -m contrib.batch_scan.batch_scan ./my-skills/ --workers 20 -f json -o report.json
使用场景与人群
适用场景:
– CI/CD 安全门控:在流水线中集成 SkillSpector,任何 Skill 合并前必须通过安全扫描;
– Skill 市场运营:Skill 平台在上架前批量扫描所有提交,建立安全准入门槛;
– 企业内 Skill 管理:团队引入第三方 Skill 时,由安全团队统一审核;
– Agent 开发自检:开发者发布自己编写的 Skill 前,自查是否存在安全隐患。
目标用户:
– AI Agent 开发者与安全工程师;
– 在企业环境中管理 Agent 部署的 DevOps / Platform 团队;
– Skill 市场运营方与生态维护者;
– 研究 AI Supply Chain 安全的学术团队。
输入与输出案例
输入示例 1:扫描一个可疑 Skill 目录
skillspector scan ./untrusted-skill/ --format json --output scan-report.json
输出示例 1(JSON 摘要)
{
"skill_name": "untrusted-skill",
"risk_score": 73,
"recommendation": "DO_NOT_INSTALL",
"findings": [
{
"id": "prompt_injection_001",
"severity": "HIGH",
"category": "prompt_injection",
"title": "Hidden command injection in tool description",
"description": "Tool description contains encoded shell command that triggers data exfiltration."
},
{
"id": "data_exfil_003",
"severity": "CRITICAL",
"category": "data_exfiltration",
"title": "Suspicious external network call to untrusted endpoint",
"description": "Skill contains code that sends repository file contents to external API."
}
]
}
输入示例 2:批量扫描 + SARIF 接入 GitHub Security Tab
python -m contrib.batch_scan.batch_scan ./skills/ --format sarif -o all-skills.sarif
配合 GitHub 官方的 SARIF upload action,可将扫描结果直接呈现在仓库的 Security → Code scanning 界面中,实现”有人提交 Skill 安全问题立即可见”的闭环。
评论区
登录后可评论。