NVIDIA/SkillSpector
Security scanner for AI agent skills. Detect vulnerabilities, malicious patterns, security risks, prompt injection, data exfiltration, and supply-chain risks in Claude Code, Codex, and MCP skills before you install them.
SkillSpector – AI 代理技能安全扫描器
简介 – SkillSpector 是一款开源工具,用于在安装前检查 AI 代理“技能”(即 Claude Code、Codex CLI、Gemini CLI 等代理所使用的插件代码包)是否存在已知的安全问题。它是 NVIDIA Verified Skills 流程的一部分,该流程负责签署并发布安全的技能至 NVIDIA 技能目录。
重要性 – 根据 README 报告,在 31,000 个技能样本中,超过四分之一包含漏洞,且有几个百分点显示出恶意意图。通过提早扫描技能,开发人员可以避免部署可能泄露提示词、外泄数据或损害主机系统的代码。
核心功能(如 README 所述)
- 多来源输入 – 扫描本地目录、单个
SKILL.md文件、zip 压缩包、Git URL 或其任意组合。 - 71 种漏洞模式,涵盖 17 个类别(例如:提示词注入、数据外泄、权限提升、供应链攻击、工具滥用、内存中毒、YARA 特征码等)。
- 两阶段分析 – 快速静态分析,随后可选择进行基于 LLM 的语义检查。
- 实时 CVE 查询 – 查询 OSV.dev 以获取最新的漏洞数据,并具备离线备援机制。
- 多种报告格式 – 人类可读的终端输出、JSON、Markdown 和 SARIF(适用于 CI/CD 流程)。
- 风险评分 – 0-100 的数值评分,附带严重性标签与具体的修复建议。
- 基准 / 误报抑制 – 存储基准文件 (
.skillspector-baseline.yaml) 以自动隐藏已知的发现;后续扫描仅会显示新问题。 - 明确的扫描范围控制 – 通过
--exclude通配符排除路径,无需依赖忽略文件。 - LLM 集成 – 支持多种提供者(OpenAI、Anthropic、Bedrock、NVIDIA Build、Gemini、Ollama、Azure OpenAI 等)进行选配的语义阶段,具备合理的默认值与环境变量配置。
- 批量扫描 – 通过
contrib/batch_scan模块并行扫描多个技能,支持多语言检测 (zh/ja/ko) 与可配置的 API 密钥池。 - MCP 注册表比较 – 比较两个 MCP 注册表快照,查看服务器识别码的变更、新增或移除情况。
入门指南
安装 (Python)
# 仅 CLI(无 MCP 额外功能)
uv tool install git+https://github.com/NVIDIA/skillspector.git
# 包含 MCP 额外功能(`skillspector mcp` 所需)
uv tool install 'skillspector[mcp] @ git+https://github.com/NVIDIA/skillspector.git'
或者,克隆仓库并通过提供的 Makefile 安装 (make install 或 make install-dev)。
Docker (无需 Python)
make docker-build # 构建镜像
docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm
新增 .env 文件或使用 -e 标志来提供 LLM 提供者凭证。
典型工作流程
# 1. 扫描技能(仅静态)
skillspector scan ./my-skill/ --no-llm
# 2. 手动审核后建立基准
skillspector baseline ./my-skill/ -o .skillspector-baseline.yaml
# 3. 重新扫描 – 仅报告新发现
skillspector scan ./my-skill/ --baseline .skillspector-baseline.yaml
使用 --format json|markdown|sarif 与 --output <file> 来导出机器可读的报告,例如用于 CI 流程。
扩展性与文档
- 开发指南 (
docs/DEVELOPMENT.md) 解释了分析器流程以及如何新增检查项目。 - 资源限制文档 (
docs/ANALYSIS_RESOURCE_BOUNDS.md) 描述了防止 zip 炸弹的输入大小上限。 - Pi / OpenCode 扩展功能 让您可以在活跃的代理会话中调用 SkillSpector(
/skillspector指令)。 - 抑制指南 (
docs/SUPPRESSION.md) 详细说明了基准格式与通配符规则。
适用对象
- AI 代理开发人员,将技能发布至 NVIDIA 目录或内部注册表。
- 安全团队,需要在 CI/CD 或生产代理中管控技能安装。
- 运维工程师,将技能安全检查整合至自动化流程(SARIF 输出适用于 GitHub Actions、Azure Pipelines 等)。
授权与兼容性
- 采用 Apache 2.0 授权。
- 需要 Python 3.12+(或基于
python:3.12-slim-bookworm的 Docker 镜像)。
总结
SkillSpector 是一款实用的开源安全分析工具,专注于新兴的 AI 代理插件生态系统。它结合了庞大的已知漏洞模式库与选配的 LLM 驱动语义检查,提供灵活的输入来源与输出格式,并能干净地整合至本地开发与 CI/CD 工作流程中。
相关
- 项目
- 项目
- 项目
- 项目
- 项目