AI 智能体技能安全扫描器
概述
AI 智能体技能安全扫描器是专门用于在安装或执行之前,对智能体技能(即 Claude Code、OpenAI Codex CLI、Cursor 及类似智能体运行框架(harness)所使用的、以 Markdown 格式定义的工作流定义文件)进行安全审查的专用工具。研究表明,26.1% 的技能存在漏洞,5.2% 具有明显的恶意意图,因此自动化扫描已成为技能供应链中不可或缺的安全层。目前有两款开源工具填补了这一空白:Cisco AI Defense Skill Scanner 和 NVIDIA SkillSpector。
两款工具均结合了静态模式匹配、基于 AST 的行为分析,以及可选的 LLM 驱动语义评估。它们输出与 CI/CD 流水线及 GitHub Code Scanning(SARIF)兼容的结构化报告。
工具速览
| 属性 | Cisco Skill Scanner | NVIDIA SkillSpector |
|---|---|---|
| 厂商 | Cisco AI Defense | NVIDIA |
| 许可证 | 开源 | Apache 2.0 |
| 语言 | Python | Python 3.12+ |
| 安装方式 | pip install cisco-ai-skill-scanner |
make install |
| 输入格式 | 技能目录、OpenAI Codex、Cursor | Git 仓库、URL、ZIP 文件、目录、单个文件 |
| 检测模式 | YAML + YARA + AST + LLM | 16 个类别下的 64 种模式 |
| 漏洞 CVE 查询 | VirusTotal 哈希扫描 | 实时 OSV.dev API(支持离线回退) |
| 输出格式 | 摘要、JSON、Markdown、表格、SARIF、交互式 HTML | 终端、JSON、Markdown、SARIF |
| LLM 提供商 | Bedrock、Google AI、Vertex、Azure OpenAI | OpenAI、Anthropic、NVIDIA build.nvidia.com |
| 工作流引擎 | 不适用 | LangGraph |
| CI/CD 集成 | GitHub Actions、pre-commit hooks、REST API | SARIF 输出,适配 GitHub Code Scanning |
Cisco AI Defense Skill Scanner
代码仓库:cisco-ai-defense/skill-scanner
架构
Skill Scanner 采用分层多引擎方法,通过共识机制降低误报率:
- 静态分析 — 对所有技能文件进行 YAML 和 YARA 模式匹配
- 字节码完整性 — 验证代码制品未遭篡改
- 流水线命令污点分析 — 追踪不可信数据在 Shell 命令流水线中的流向
- 行为分析(AST) — 对 Python 文件进行 AST 数据流分析,追踪被污染的输入至敏感汇聚点
- 基于 LLM 的语义分析 — 使用可配置的 LLM 提供商(Bedrock、Google AI、Vertex、Azure OpenAI)进行 AI 驱动检测;支持通过可配置的迭代次数进行多数投票共识
- 元分析器 — 汇总所有引擎的发现结果,并应用共识过滤以降低噪音
- 云集成 — 可选的 VirusTotal 哈希扫描及 Cisco AI Defense 云分析
CLI 命令
skill-scanner scan ./my-skill/ # single skill directory
skill-scanner scan-all ./skills/ # recursive multi-skill scan
skill-scanner interactive # guided wizard
skill-scanner generate-policy # create a custom scan policy
skill-scanner list-analyzers # show available detection engines
非标准格式支持
--lenient 标志可启用对不符合 OpenAI Codex 或 Cursor 规范的格式进行扫描——尤其是 Claude Code 的 .claude/commands/*.md 技能文件。
输出与集成
- SARIF 输出可直接与 GitHub Code Scanning 集成,实现 PR 级别的安全卡控
- 交互式 HTML 报告按攻击关联性对发现结果进行分组
- 基于严重程度阈值的退出码可用于阻断构建流水线
- REST API 模式支持将 Skill Scanner 嵌入服务网格
核心局限
"无发现 ≠ 无风险。扫描结果为'无发现'仅表示未检测到已知威胁模式——并不保证完全安全或不存在漏洞。"
NVIDIA SkillSpector
代码仓库:nvidia/skillspector
架构
SkillSpector 采用两阶段流水线:
阶段一 — 静态分析(始终运行) - 针对 64 种漏洞特征进行正则模式匹配 - 基于 AST 的行为分析(从源到汇聚点的污点追踪) - YARA 恶意软件特征匹配 - 通过实时 OSV.dev API 进行依赖漏洞扫描(支持离线回退)
阶段二 — LLM 分析(可选) - 使用已配置的 LLM 提供商进行上下文评估 - 误报过滤:LLM 对边界静态发现结果进行重新分类 - 支持 OpenAI、Anthropic、NVIDIA build.nvidia.com 及本地兼容 OpenAI 的服务器(Ollama、vLLM) - 基于 LangGraph 处理流水线构建
漏洞类别(16 个领域)
提示词注入 · 数据外泄 · 权限提升 · 供应链攻击 · 过度自主 · 输出处理漏洞 · 系统提示词泄露 · 记忆投毒 · 工具滥用 · 流氓智能体行为 · 触发器滥用 · 基于 AST 的代码分析 · 污点追踪 · YARA 恶意软件特征 · MCP 特定风险 · 依赖 CVE(OSV.dev)
CLI 用法
skillspector scan ./my-skill/
skillspector scan https://github.com/user/my-skill
skillspector scan ./skill.zip --format json --output report.json
skillspector scan ./my-skill/ --format sarif --output results.sarif
风险评分
对每个技能输出 0–100 的严重程度评分,并针对每条发现提供可操作的修复建议。
核心局限
静态分析和 LLM 分析均无法评估运行时行为;加密或二进制代码也无法被评估。
威胁检测模型对比
| 威胁类别 | Cisco Skill Scanner | NVIDIA SkillSpector |
|---|---|---|
| 提示词注入 | 是(YARA + LLM) | 是(64 种模式 + LLM) |
| 数据外泄 | 是(污点分析) | 是(污点追踪) |
| 恶意代码模式 | 是(YAML + YARA + AST) | 是(YARA + AST) |
| 供应链攻击 | 部分(VirusTotal 哈希) | 是(OSV.dev CVE 查询) |
| 权限提升 | 部分(流水线污点) | 是(专属类别) |
| MCP 特定风险 | 否 | 是(专属类别) |
| 记忆投毒 | 否 | 是(专属类别) |
| 流氓智能体行为 | 否 | 是(专属类别) |
| 误报抑制 | 元分析器共识 | LLM 重新分类 |
最佳实践
| 领域 | 描述 | 建议 |
|---|---|---|
| CI/CD 卡控 | 阻断引入不安全技能的 PR | 结合 GitHub Code Scanning 使用 SARIF 输出;设置严重程度阈值退出码以使流水线失败 |
| 安装前审查 | 在部署前扫描第三方技能 | 对从外部来源获取的任何技能运行 SkillSpector 或 Skill Scanner;将所有外部技能视为不可信 |
| LLM 分析成本 | LLM 引擎会增加延迟和 API 费用 | 仅对静态严重程度阈值以上的发现结果启用 LLM 分析;大批量扫描时使用本地模型(Ollama) |
| 非标准格式 | Claude Code 的 .claude/commands/*.md 文件 |
使用 Skill Scanner 并携带 --lenient 标志;SkillSpector 原生支持原始目录输入 |
| CVE 覆盖 | 技能编写代码中的依赖漏洞 | SkillSpector 的 OSV.dev 集成覆盖此场景;针对气隙隔离环境配置离线回退 |
| 分层扫描 | 单一引擎无法捕获所有威胁 | 以互补方式同时运行两款工具:SkillSpector 负责广泛的 CVE + MCP 覆盖,Skill Scanner 负责经共识过滤的语义分析 |
| 策略定制 | 通用策略会产生无关发现 | 使用 skill-scanner generate-policy 为你的技能库创建特定上下文的规则 |
参见
- 智能体技能 / SKILLS.md 标准
- 智能体安全最佳实践
- 智能体 AI 安全概述
- 智能体治理工具包
- Anthropic 沙箱运行时
- 智能体沙箱隔离
- Model Context Protocol
- 评测框架
参考资料
- cisco-ai-defense/skill-scanner — Cisco AI Defense 推出的开源多引擎技能安全扫描器,可检测提示词注入、数据外泄和恶意代码模式
- nvidia/skillspector — NVIDIA 推出的开源两阶段技能扫描器,涵盖 16 个类别的 64 种漏洞模式,支持实时 OSV.dev CVE 查询,基于 LangGraph 流水线构建