用 Rust 编写的安全扫描器,检查 MCP 服务器和 AI 智能体 Skill 文件中的提示注入、工具投毒与密钥泄露等风险。
cisco-ai-defense/skill-scanner
面向 AI Agent Skills 的best-effort安全扫描器,用于检测提示注入、数据外泄和恶意代码模式。
- Star
- 2,695
- Fork
- 341
- 未关闭 Issue
- 2
- 最近提交
- 18小时前
这是什么?
Skill Scanner 用于在安装或分享 AI Agent Skills 之前检查其中的风险内容。它结合了基于模式的检测(YAML 与 YARA-X 规则)、对 Python 代码的 AST 与数据流分析,以及可选的 LLM 语义复核。扫描结果可输出为 JSON、Markdown、SARIF 或可交互的 HTML 报告。
工具支持 Codex 和 Cursor 的 Agent Skills 格式,开启 lenient 模式后还可处理 Claude Code 的命令文件和扁平的 Markdown 技能仓库。它可以扫描单个技能、技能目录或 GitHub 仓库,并提供命令行、Python SDK、REST API 和 pre-commit 钩子。balanced、low-noise、quiet 等策略预设可控制进入人工复核的告警数量。
需要注意,检测属于 best-effort 性质:无发现并不代表技能安全,生产环境建议结合人工审查使用。
核心功能
- 01结合 YAML 与 YARA-X 规则检测与 AST、数据流分析。
- 02可选 LLM 裁判对告警做语义复核,支持多种模型提供方。
- 03支持 JSON、Markdown、SARIF 和交互式 HTML 报告输出。
- 04提供可复用的 GitHub Actions 工作流与 pre-commit 钩子。
- 05支持策略预设和自定义 YAML 策略,用于调节误报。
适用场景
- 安装第三方 Agent 技能前进行安全审查。
- 在 CI 中通过 SARIF 结果在 GitHub Code Scanning 中拦截风险改动。
- 借助 pre-commit 在每次提交时扫描团队的技能仓库。
- 批量审计技能目录,并检查技能之间的描述重叠。
快速上手
- 1
使用 uv 安装扫描器
uv pip install cisco-ai-skill-scanner - 2
设置 LLM 判定器的 API 密钥
export SKILL_SCANNER_LLM_API_KEY="your_api_key" - 3
使用 LLM 判定器和 balanced 预设扫描一个技能
skill-scanner scan /path/to/skill --use-llm --policy balanced --fail-on-severity high
使用前须知
- 仅提供尽力而为的检测;没有发现问题并不保证技能安全。
- 推荐方案需要 LLM 判定器的 API 密钥,因为仅靠规则只能发现约 8% 的held-out恶意技能。
- 元数据中许可证显示为 NOASSERTION,使用前应自行核实许可条款。
收录于专题
标签
常见问题
- skill-scanner 是什么?
- 面向 AI Agent Skills 的best-effort安全扫描器,用于检测提示注入、数据外泄和恶意代码模式。 Skill Scanner 用于在安装或分享 AI Agent Skills 之前检查其中的风险内容。它结合了基于模式的检测(YAML 与 YARA-X 规则)、对 Python 代码的 AST 与数据流分析,以及可选的 LLM 语义复核。扫描结果可输出为 JSON、Markdown、SARIF 或可交互的 HTML 报告。
- skill-scanner 可以免费使用吗?用的什么许可证?
- skill-scanner 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- skill-scanner 还在维护吗?
- 活跃维护中。skill-scanner 最近一次提交是在 2026年11月6日。
- skill-scanner 适合用来做什么?
- 安装第三方 Agent 技能前进行安全审查。 在 CI 中通过 SARIF 结果在 GitHub Code Scanning 中拦截风险改动。 借助 pre-commit 在每次提交时扫描团队的技能仓库。 批量审计技能目录,并检查技能之间的描述重叠。
- skill-scanner 怎么安装和运行?
- 使用 uv 安装扫描器: uv pip install cisco-ai-skill-scanner 设置 LLM 判定器的 API 密钥: export SKILL_SCANNER_LLM_API_KEY="your_api_key" 使用 LLM 判定器和 balanced 预设扫描一个技能: skill-scanner scan /path/to/skill --use-llm --policy balanced --fail-on-severity high
- 在哪里获取 skill-scanner?
- 源代码和安装说明在 GitHub 上:https://github.com/cisco-ai-defense/skill-scanner
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
AI 代码审查命令行工具,结合确定性流程与 LLM Agent,对 Git 差异生成精确到行的审查意见。
思科开源的 Python 工具,用 YARA 规则、LLM 分析和 AI Defense 扫描 MCP 服务器及其工具的安全风险。
面向 GitHub Actions、Dependabot 和 pre-commit 等 CI/CD 配置的静态分析工具,用于查找并修复安全问题。
一条命令检测已发布应用的构建产物有多容易被 AI 逆向工具读取,并自动修复可安全处理的问题。
开源静态分析工具,用接近源码的模式查找代码缺陷并执行编码规范,支持 30 多种语言。