RepoDaily · 2026-06-26 · Security tool

SkillSpector:NVIDIA 推出的 AI Agent 技能安全扫描器

#13 Security tool Python +410 NVIDIA/SkillSpector 打开仓库

一款安装前安全扫描工具,能在 prompt 注入、数据外泄和恶意模式接触到你的运行环境之前就把它们拦截。

项目类型Security tool
最适合使用 Claude Code、Codex CLI、Gemini CLI 或任何支持 MCP 的 Agent、并需要在安装第三方技能前进行安全审查的团队
风险等级
评估时间静态扫描约 30 分钟;配置 LLM 语义分析与 CI 集成约 1–2 小时

核心问题: 这个技能安装安全吗?

91/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 91/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 低
100证据质量

包含 5 个来源、覆盖 5 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

100可安装/可试用性

检测到 6 个工作流步骤、5 个下一步动作,以及 3 个命令/安装信号。

71维护可信度

趋势热度为 +410 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

100生产准备度

采纳风险标记为 low,并包含 5 条安全说明与 3 条跳过条件。

83差异化

3 个机会视角、3 个替代方案,以及 0 个类型化模块支撑差异化判断。

82许可证清晰度

文章中包含许可证来源或许可证表述。

90Agent / AI 适配度

文章正文和元数据中检测到 8 个 AI/Agent 相关信号。

项目概览

Claude Code、Codex CLI、Gemini CLI 等工具使用的 AI Agent 技能在执行时几乎没有任何安全审查。NVIDIA 自己的研究显示,26.1% 的技能存在漏洞,5.2% 表现出可能的恶意意图。SkillSpector 是一款基于 Python 的扫描器,在安装前检查技能中的 prompt 注入、数据外泄、权限提升、供应链风险等问题。

工具采用两阶段管线:首先是覆盖 17 个类别共 68 个漏洞模式的快速静态模式匹配,其次是可选的 LLM 语义评估。输入支持 Git 仓库、URL、zip 文件、目录或单个 SKILL.md 文件,输出格式包括终端、JSON、Markdown 和 SARIF,并附带 0–100 的风险评分。

除了一次性 CLI 扫描,SkillSpector 还提供 MCP 服务端模式,让任何支持 MCP 的 Agent 将扫描作为工具调用,并根据结果决定是否允许安装技能或 MCP 服务。这让它从离线审计工具升级为运行时护栏。

解决什么问题

  • Agent 技能通常在安装和执行前没有任何安全审查
  • 技能可能包含 prompt 注入、数据外泄、权限提升和供应链攻击
  • 纯静态代码分析无法覆盖流氓 Agent 行为或触发滥用等语义威胁
  • 现有安全工具未针对技能和 MCP 服务器的威胁模型进行调优
  • CI/CD 和 IDE 流水线缺乏标准的技能扫描结果格式

工作原理

  1. 提供目标:Git 仓库 URL、本地目录、zip 文件或单个 SKILL.md 文件。
  2. SkillSpector 执行静态分析,覆盖 17 个类别 68 个模式,包括基于 AST 的危险代码检测、YARA 签名和污点跟踪。
  3. 可选地,LLM 服务提供方进行第二轮语义评估,发现上下文感知的深层威胁。
  4. SC4 阶段查询 OSV.dev 获取实时 CVE 数据,支持自动离线回退。
  5. 生成 0–100 的风险评分、严重性标签和建议;结果可导出为 JSON、Markdown、SARIF 或终端输出。
  6. 可选:启动 MCP 服务端,让任何支持 MCP 的 Agent 调用 scan_skill 并根据扫描结论控制安装。

自托管应用

SkillSpector 是一个本地托管的 CLI 和 MCP 服务端。可以通过 uv 无需克隆仓库直接安装,用 Makefile 从源码构建,或在 Docker 中运行且无需主机安装 Python。纯静态扫描(--no-llm)不需要任何外部 API 密钥,适合隔离环境。

对于需要语义分析的团队,SkillSpector 支持 OpenAI、Anthropic、NVIDIA Build、Anthropic Vertex 代理以及 Ollama 或 vLLM 等任何 OpenAI 兼容的本地端点。凭据通过环境变量或 .env 文件传递,工具还可作为 Pi 扩展在 Agent 会话内扫描技能。

安全扫描架构:Agent 执行前先审查 Skill

SkillSpector 应被视为 AI-agent skill 文件的安全工具,而不是普通自托管应用。采用路径应先检查 `README.md`、`pyproject.toml`、`CONTRIBUTING.md` 和 `LICENSE`,再分别扫描一个已知安全的 skill pack 和一个故意可疑的测试 skill。

它的具体价值是执行前审查:团队要知道某个 skill 是否会请求危险 shell 命令、外传 secrets、削弱沙箱规则,或在 Markdown 中隐藏不安全指令。因此扫描输出应和准确命令、版本、扫描路径、误报记录一起保存。

谁适合关注

适合关注

  • 你的团队从公共来源安装第三方 Agent 技能或 MCP 服务
  • 你在生产环境中使用 Claude Code、Codex CLI、Gemini CLI 或类似的 MCP Agent
  • 你需要 SARIF 输出用于 CI/CD 或 IDE 集成
  • 你希望实现安装时拦截而非事后审计

可以先跳过

  • 你不使用 AI Agent 技能或 MCP 服务
  • 你需要一个完全托管的 SaaS 扫描器,不想维护本地基础设施
  • 你的扫描需求超出了 Agent 技能的威胁模型范围

风险与注意事项

SkillSpector 采用 Apache-2.0 许可证,本地运行静态扫描无需 API 密钥,支持 Docker 和 uv 安装。主要注意事项是 Python 3.12+ 的版本要求,以及进行完整语义分析时可选的 LLM 服务方配置。

  • 纯静态模式通过 --no-llm 即可运行,零外部依赖
  • Docker 镜像基于官方 Python 3.12-slim-bookworm,主机无需 Python
  • Apache-2.0 许可证对企业友好,采用 DCO 贡献模型
  • 需要 Python 3.12+,旧系统可能需要更新环境
  • LLM 语义分析需要服务方凭据并产生 API 费用
  • 检测 17 个类别共 68 个漏洞模式,包括 prompt 注入、数据外泄和权限提升
  • 通过 OSV.dev 实时查询 CVE 数据,支持自动离线回退
  • 基线和误报抑制功能支持 glob 规则或指纹,重复扫描只显示新发现
  • MCP 服务端模式让 Agent 根据扫描结果控制技能和 MCP 安装
  • YARA 签名和基于 AST 的危险代码检测提供深度静态分析

替代方案比较

方案适用场景代价
Semgrep
你需要覆盖多语言的通用静态分析,而不仅限于 Agent 技能免费 / 开源
Bandit
你想要一个轻量级的 Python 专用安全检查工具免费 / 开源
自定义 CI 扫描脚本
你的威胁模型足够窄,几条 grep 规则就能覆盖免费

这个趋势说明了什么

CI/CD 策略执行

SARIF 输出可以接入现有的 GitHub Actions 或 GitLab CI 流水线,阻止引入高风险技能的合并。

用 --format sarif 对你当前的技能仓库跑一次示例扫描,根据团队的风险容忍度评估发现。

通过 MCP 实现运行时安装拦截

MCP 服务端暴露 scan_skill 工具,返回 safe_to_install 字段,让 Agent 在激活前自动拒绝不安全技能。

将 MCP 服务端注册到 Claude Code 或你的 Agent 运行时,测试一个已知有漏洞的技能是否被阻止。

基于基线的持续扫描

基线功能让团队接受已知发现,在技能更新时只跟踪新问题,减少告警疲劳。

为你最常用的技能生成基线,然后更新技能并重新扫描,确认只有新发现出现。

下一步建议

对你最高风险的技能运行一次静态扫描

通过 uv 或 Docker 安装 SkillSpector,对团队最常用的 Agent 技能运行无 LLM 扫描。无需任何 API 凭据即可获得即时的风险概览。

  1. 安装:uv tool install git+https://github.com/NVIDIA/skillspector.git
  2. 运行:skillspector scan ./your-skill/ --no-llm
  3. 查看终端输出中的严重性标签和 0–100 风险评分
  4. 如果风险较高,用 --format json --output report.json 重新运行获取详细分析
  5. 如果发现已被接受,提交基线后重新扫描确认

RepoDaily 判断

SkillSpector 填补了 AI Agent 生态中的一个关键空白:技能和 MCP 服务的安装前安全审查。凭借 68 个检测模式、可选的 LLM 语义分析、面向 CI 集成的 SARIF 输出以及用于运行时拦截的 MCP 服务端模式,它是一款实用且架构合理的工具,适合任何重视 Agent 安全的团队。

信息来源