Token导航 LogoToken导航TokenDH.com
MCP Scan logo
安全风控stdio官方级别未说明来源级核验

MCP Scan

MCP Server

Snyk Agent Scan是一款安全扫描工具,用于发现和扫描机器上的代理组件(包括代理、MCP服务器和技能)以检测提示注入和漏洞。

工具数

0

提示词数

0

GitHub Stars

2,409

资源数

0
安全PythonClaude漏洞检测ClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

snyk

提供方

snyk

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uvx snyk-agent-scan@latest

详细介绍

Snyk Agent Scan

Discover and scan agent components on your machine for prompt injections

and vulnerabilities (including agents, MCP servers, skills).

阅读我们的 agent技能生态系统新威胁技术报告 与Agent Scan 0.4一起发布,该版本增加了对扫描代理技能的支持。

Agent Scan可帮助您保存所有已安装的代理组件(线束、MCP服务器和技能)的清单,并扫描它们以查找常见威胁,如提示注入、敏感数据处理或隐藏在自然语言中的恶意软件有效载荷。使用忽略技能分析 --no-skills.

安全警告

⚠️ 重要提示:扫描MCP配置将执行其中定义的命令。 当代理扫描扫描MCP配置文件时,它会通过执行配置中指定的命令和参数来启动stdio MCP服务器。这对于检索工具描述和执行安全分析是必要的。 建议: - 在沙盒内运行扫描 (Docker容器、VM或一次性环境)评估不受信任或第三方MCP配置时 - 仔细查看同意提示 在交互式扫描过程中,它显示了将为每个服务器执行的确切命令和参数 - 使用 --dangerously-run-mcp-servers 仅在已验证所有MCP服务器命令的受信任环境中 默认情况下,在交互式运行期间启动每个stdio MCP服务器之前,代理扫描需要明确的用户同意(y/n)。这使您可以控制系统上执行的内容。

亮点

  • 自动发现MCP配置、代理工具、技能
  • 扫描Claude、Cursor、Windsurf、Gemini CLI、Amp、Amazon Q等代理。
  • 发现 15+不同的安全风险 跨MCP服务器和代理技能:

- MCP: 提示注入, 工具中毒, 工具阴影, 有毒物质流动 - 技能: 提示注入, 恶意软件有效载荷, 不受信任的内容, 凭证处理, 硬编码的秘密

支持的代理和功能

当代理的安装路径存在时,Agent Scan会自动发现代理及其功能(MCP服务器或技能)。该表反映 众所周知的代理定义.

  • :至少为该功能定义了一条路径。
  • :列出了该操作系统的代理,但没有该功能的路径。
  • :该操作系统不包括该代理。
  • 技能 使用可以忽略技能 --no-skills
代理macOS MCPmacOS技能Linux MCPLinux技能Windows MCPWindows技能
风浪
光标
VS代码
克劳德桌面
克劳德代码
Gemini CLI
OpenClaw
放大器
Kiro
OpenCode
反重力
食品法典
亚马逊Q✓✓ (WSL)

快速开始

开始:

  1. 注册地址: 思尼克 并从获取API令牌 https://app.snyk.io/account (API代币→ KEY → 单击以显示)。
  2. 将令牌设置为环境变量 在运行任何扫描之前:
   export SNYK_TOKEN=your-api-token-here
  1. 紫外线 安装在您的系统上。

扫描

要对您的机器进行全面扫描(自动发现代理、MCP服务器、技能),请运行:

uvx snyk-agent-scan@latest

这将扫描MCP服务器、工具、提示和资源中的安全漏洞。它将自动发现各种代理配置,包括Claude Code/Desk、Cursor、Gemini CLI和Windsurf。

uvx snyk-agent-scan@latest

您还可以扫描特定的MCP配置文件或技能:

# scan a specific mcp configuration
uvx snyk-agent-scan@latest ~/.vscode/mcp.json
# scan a single agent skill
uvx snyk-agent-scan@latest ~/path/to/my/SKILL.md
# scan all claude skills
uvx snyk-agent-scan@latest ~/.claude/skills

示例运行

![Agent Scan security vulnerabilities demo](https://asciinema.org/a/716858)

扫描仪功能

Agent Scan是一种安全扫描工具,用于扫描和检查计算机上代理组件的供应链。它扫描常见的安全漏洞,如快速注射、工具中毒、有毒流或代理技能漏洞。

Agent Scan以两种主要模式运行,可以联合使用或单独使用:

  1. 扫描模式:CLI命令 snyk-agent-scan 扫描当前机器以查找代理和代理组件,如技能和MCP服务器。完成后,它将输出一份全面的报告供用户查看。
  1. 后台模式 (MDM、Crowdstrike)。Agent Scan在后台定期扫描机器,并将结果报告给 Snyk Evo 例子安全团队可以使用它在一个中心位置监控全公司的代理供应链。要设置此项,请 联系我们.

运作原理

扫描

Agent Scan搜索本地代理的配置文件,以查找代理、技能和MCP服务器。对于MCP,它连接到服务器并检索工具描述。

MCP服务器的交互式同意

⚠️ 安全说明:扫描MCP配置会执行其中定义的命令。在批准之前,请务必检查将执行的命令。

默认情况下,在交互式运行期间启动每个stdio MCP服务器之前,Agent Scan会提示用户同意。此同意流程:

  • 显示将要执行的服务器名称、命令和环境变量(已编辑)
  • 允许您单独批准或拒绝每台服务器
  • 防止可能不受信任的服务器在未经您明确许可的情况下运行
  • 记录被服务器拒绝 user_declined 错误(它们从未启动)

最佳实践:

  • 在批准之前,请仔细审查命令和参数
  • 扫描不受信任或第三方MCP配置时,在沙盒(Docker、VM或一次性环境)内运行Agent Scan
  • 拒绝任何具有不熟悉或可疑命令的服务器

对于非交互式环境(例如CI/CD管道),您必须使用 --dangerously-run-mcp-servers 标记以绕过同意提示并自动启动所有服务器。 仅在所有MCP服务器命令都已验证的受信任环境中使用此标志。

分析与验证

代理扫描通过本地检查和调用代理扫描API来验证组件。为此,技能、代理应用程序、工具名称和描述与Snyk共享。使用代理扫描即表示您同意Snyk Agent Scan的使用条款.

Agent Scan不会存储或记录任何使用数据,即MCP工具调用的内容和结果。

CLI参数

Agent Scan提供以下命令:

snyk-agent-scan - Security scanner for agents, MCP servers, and skills

常用选项

这些选项适用于所有命令:

--storage-file FILE    Path to store scan results and scanner state (default: ~/.mcp-scan)
--base-url URL         Base URL for the verification server
--verbose              Enable detailed logging output
--print-errors         Show error details and tracebacks
--json                 Output results in JSON format instead of rich text

命令

扫描(默认)

扫描MCP配置中的工具、提示和资源中的安全漏洞。

snyk-agent-scan scan [CONFIG_FILE...]

选项:

--checks-per-server NUM           Number of checks to perform on each server (default: 1)
--server-timeout SECONDS          Seconds to wait before timing out server connections (default: 10)
--suppress-mcpserver-io BOOL      Suppress stderr from stdio MCP servers (stdout carries the JSON-RPC protocol
                                  and is never shown). Default: False for interactive runs (stderr is streamed
                                  with a [server-name] prefix), True otherwise.
--dangerously-run-mcp-servers     ⚠️ DANGER: Skip the interactive consent prompt and automatically start every
                                  stdio MCP server listed in the scanned configs. Only use in trusted
                                  environments where you've verified all MCP server commands.
--no-skills                       Skip analysis on skills.

检查

打印工具、提示和资源的描述,无需验证。

snyk-agent-scan inspect [CONFIG_FILE...]

选项:

--server-timeout SECONDS          Seconds to wait before timing out server connections (default: 10)
--suppress-mcpserver-io BOOL      Suppress stderr from stdio MCP servers (stdout carries the JSON-RPC protocol
                                  and is never shown). Default: False for interactive runs (stderr is streamed
                                  with a [server-name] prefix), True otherwise.
--dangerously-run-mcp-servers     ⚠️ DANGER: Skip the interactive consent prompt and automatically start every
                                  stdio MCP server listed in the scanned configs. Only use in trusted
                                  environments where you've verified all MCP server commands.

帮助

显示详细的帮助信息和示例。

snyk-agent-scan help

示例

# Scan all known MCP configs and agent skills
snyk-agent-scan

# Scan a specific config file
snyk-agent-scan ~/custom/config.json

# Scan a specific skill file
snyk-agent-scan ~/path/to/my/SKILL.md

# Scan a directory for skills
snyk-agent-scan ~/.claude/skills

# Just inspect tools without verification
snyk-agent-scan inspect

# Skip consent prompts and run all servers (ONLY for CI/CD or fully trusted environments)
snyk-agent-scan --dangerously-run-mcp-servers

# Suppress MCP server stderr output during scanning
snyk-agent-scan --suppress-mcpserver-io=true

# CI mode (requires --dangerously-run-mcp-servers in non-interactive environments)
snyk-agent-scan --ci --dangerously-run-mcp-servers

演示

此存储库包含一个易受攻击的MCP服务器,该服务器可以演示代理扫描发现的模型上下文协议安全问题。

如何演示MCP安全问题?

  1. 克隆此存储库
  2. 创建一个 mcp.json 克隆的git存储库根目录中的配置文件,内容如下:
{
  "mcpServers": {
    "Demo MCP Server": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "mcp", "run", "demoserver/server.py"],
    },
  },
}
  1. 运行代理扫描: uvx --python 3.13 snyk-agent-scan@latest scan --full-toxic-flows mcp.json

注意:如果您放置 mcp.json 然后调整其他位置的配置文件路径 args MCP服务器配置内的路径,以反映到MCP服务器的路径(demoserver/server.py)以及 uvx 使用正确的文件路径运行代理扫描的命令 mcp.json.

Agent Scan已关闭供款功能

Agent Scan目前不接受外部贡献。

我们欢迎建议、错误报告或功能请求作为GitHub问题。

开发设置

要从源运行代理扫描,请执行以下步骤:

uv run pip install -e .
uv run -m src.agent_scan.cli

将代理扫描结果包含在您自己的项目/注册表中

如果您想将代理扫描结果包含在您自己的项目或注册表中,请 伸出援手。为此目的,有指定的API。使用标准的代理扫描API进行大规模扫描被视为滥用,并将导致您的帐户被阻止。

文档

  • 扫描 --扫描的工作原理、CLI参数和使用示例。
  • 问题代码 --代理扫描检测到的所有安全问题的参考。

延伸阅读

更新日志

更改日志.md.

目录标签

目录标签

安全PythonClaude漏洞检测安全扫描本地部署代理组件提示注入MCP服务器

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP