Repolode
cisco-ai-defense

cisco-ai-defense/mcp-scanner

思科开源的 Python 工具,用 YARA 规则、LLM 分析和 AI Defense 扫描 MCP 服务器及其工具的安全风险。

Star
1,094
Fork
148
未关闭 Issue
74
最近提交
4天前

这是什么?

MCP Scanner 用于检测 Model Context Protocol(MCP)服务器及其工具中潜在的恶意行为和安全问题。它可以扫描远程服务器(SSE 或 streamable HTTP)、本地 stdio 服务器的工具、提示词、资源和服务器说明,也可以离线扫描预先生成的 JSON 文件,适合放进 CI/CD 流程。

扫描器整合了三种引擎:YARA 规则、基于 LLM 的分析以及 Cisco AI Defense 检测接口,可以组合使用,也可以单独使用。此外还提供 MCP 服务器源码的行为分析、用 VirusTotal 校验二进制文件哈希、通过 pip-audit 检查 Python 依赖漏洞,以及在沙箱中扫描 PyPI 和 npm 包。

项目提供命令行工具(mcp-scanner)、REST API 服务(mcp-scanner-api)和 Python SDK,输出格式包括摘要、详细、表格、按严重级别分组和原始 JSON。

核心功能

  • 01扫描 MCP 的工具、提示词、资源和服务器说明中的安全问题。
  • 02整合 YARA 规则、LLM 分析和 Cisco AI Defense 接口,可组合或单独使用。
  • 03支持连接远程(SSE、streamable HTTP)和 stdio 类型的 MCP 服务器,也可离线读取静态 JSON 文件。
  • 04对 Python、TypeScript、Go、Java、Rust 等十种语言的源码做行为分析。
  • 05通过 pip-audit 检查 Python 依赖中的已知漏洞(CVE、PYSEC、GHSA)。
  • 06提供命令行、REST API 和 Python SDK 三种使用方式。

适用场景

  • 在将第三方 MCP 服务器接入 AI 智能体之前进行安全审查。
  • 在 CI/CD 流程中加入离线的 MCP 工具定义检查,无需 API 密钥。
  • 安装提供 MCP 服务的 PyPI 或 npm 包之前进行扫描。
  • 审计开发者本机已有的 MCP 客户端配置文件。

快速上手

  1. 1

    使用 uv 安装命令行工具

    uv tool install --python 3.13 cisco-ai-mcp-scanner
  2. 2

    使用 YARA 扫描一个 stdio MCP 服务器

    mcp-scanner --stdio-command uvx --stdio-arg=--from --stdio-arg=mcp-server-fetch --stdio-arg=mcp-server-fetch --analyzers yara --format summary

使用前须知

  • 部分分析器需要 API 密钥,例如 Cisco AI Defense API、LLM 提供商或 VirusTotal。
  • 未设置 VIRUSTOTAL_API_KEY 时,不会扫描二进制文件的恶意软件。
  • 需要 Python 3.11 及以上版本和 uv。

标签

常见问题

mcp-scanner 是什么?
思科开源的 Python 工具,用 YARA 规则、LLM 分析和 AI Defense 扫描 MCP 服务器及其工具的安全风险。 MCP Scanner 用于检测 Model Context Protocol(MCP)服务器及其工具中潜在的恶意行为和安全问题。它可以扫描远程服务器(SSE 或 streamable HTTP)、本地 stdio 服务器的工具、提示词、资源和服务器说明,也可以离线扫描预先生成的 JSON 文件,适合放进 CI/CD 流程。
mcp-scanner 可以免费使用吗?用的什么许可证?
mcp-scanner 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
mcp-scanner 还在维护吗?
活跃维护中。mcp-scanner 最近一次提交是在 2026年10月16日。
mcp-scanner 适合用来做什么?
在将第三方 MCP 服务器接入 AI 智能体之前进行安全审查。 在 CI/CD 流程中加入离线的 MCP 工具定义检查,无需 API 密钥。 安装提供 MCP 服务的 PyPI 或 npm 包之前进行扫描。 审计开发者本机已有的 MCP 客户端配置文件。
mcp-scanner 怎么安装和运行?
使用 uv 安装命令行工具: uv tool install --python 3.13 cisco-ai-mcp-scanner 使用 YARA 扫描一个 stdio MCP 服务器: mcp-scanner --stdio-command uvx --stdio-arg=--from --stdio-arg=mcp-server-fetch --stdio-arg=mcp-server-fetch --analyzers yara --format summary
在哪里获取 mcp-scanner?
源代码和安装说明在 GitHub 上:https://github.com/cisco-ai-defense/mcp-scanner

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目