使用说明
@代理防御者/mcp扫描
用于模型上下文协议(MCP)服务器配置的安全扫描程序。检测工具中毒、及时注射、阴影攻击和已知威胁。
MCP服务器通过强大的工具使用功能扩展了AI代理,但它们也引入了新的攻击面。受感染或恶意的MCP服务器可以泄露数据、覆盖代理行为或充当供应链后门。 @agentdefenders/mcp-scan 分析您的MCP配置,并在安全问题进入生产环境之前进行标记。
所有分析都在您的计算机上本地运行。没有数据传输到任何外部服务。如果您想要仪表板集成和历史跟踪,您可以选择提供 --api-key 将结果与同步 代理防御盾牌.
快速开始
npx @agentdefenders/mcp-scan
扫描仪自动检测11个受支持客户端的MCP客户端配置,并分析所有注册的服务器。
输出示例
@agentdefenders/mcp-scan v0.2.2-alpha
Scanning MCP configurations...
Found 2 servers across 1 client configuration.
--- filesystem-server ---
Source: claude_desktop_config.json
Command: npx -y @modelcontextprotocol/server-filesystem /home/user/projects
Tools: 11 detected
Analyzers: 5/5 passed
Grade: A
--- data-pipeline-mcp ---
Source: claude_desktop_config.json
Command: npx -y data-pipeline-mcp@latest
Tools: 4 detected
Findings:
[HIGH] tool-poisoning: Tool "run_query" description contains hidden
instruction that overrides agent behavior. The phrase "ignore
previous instructions" was detected in the tool description.
[LOW] suspicious-env: Tool "connect" requests access to DATABASE_URL
environment variable.
Grade: D
Summary
Servers scanned: 2
Total findings: 2 (1 high, 0 medium, 1 low)
Clean servers: 1
Flagged servers: 1
支持的MCP客户端
| 客户端 | macOS | Linux | Windows |
|---|---|---|---|
| 克劳德桌面 | ~/Library/Application Support/Claude/claude_desktop_config.json |
~/.config/Claude/claude_desktop_config.json |
%APPDATA%\Claude\claude_desktop_config.json |
| 光标 | ~/.cursor/mcp.json |
~/.cursor/mcp.json |
%APPDATA%\Cursor\mcp.json |
| VS代码 | ~/Library/Application Support/Code/User/mcp.json |
~/.config/Code/User/mcp.json |
%APPDATA%\Code\User\mcp.json |
| 风帆冲浪 | ~/Library/Application Support/Windsurf/User/globalStorage/windsurf.mcp/config.json |
~/.config/Windsurf/User/globalStorage/windsurf.mcp/config.json |
%APPDATA%\Windsurf\User\globalStorage\windsurf.mcp\config.json |
| Gemini CLI | ~/.gemini/settings.json |
~/.gemini/settings.json |
%USERPROFILE%\.gemini\settings.json |
| 克莱恩 | ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json |
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json |
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json |
JetBrains/Junie。 ~/.junie/mcp/mcp.json |
~/.junie/mcp/mcp.json |
%USERPROFILE%\.junie\mcp\mcp.json |
|
| Continue.dev | ~/.continue/config.yaml |
~/.continue/config.yaml |
%USERPROFILE%\.continue\config.yaml |
| 谷歌反重力 | ~/.gemini/antigravity/mcp_config.json |
~/.gemini/antigravity/mcp_config.json |
%USERPROFILE%\.gemini\antigravity\mcp_config.json |
| Zed | ~/.zed/settings.json |
~/.config/zed/settings.json |
%APPDATA%\Zed\settings.json |
| 亚马逊Q开发者 | ~/.aws/amazonq/default.json |
~/.aws/amazonq/default.json |
%USERPROFILE%\.aws\amazonq\default.json |
您还可以使用以下命令指向特定的配置文件 --config <path>.
安全分析器
| 分析器 | 说明 |
|---|---|
tool-poisoning |
检测工具描述中试图覆盖代理行为或泄露数据的隐藏指令。 |
prompt-injection |
标识服务器元数据、工具名称和参数模式中的提示注入模式。 |
shadowing |
标记隐藏或重新定义内置工具名称的工具,这可能会劫持代理操作。 |
suspicious-env |
报告请求访问敏感环境变量(凭据、令牌、密钥)的工具。 |
known-threats |
根据已知恶意MCP服务器的精心策划的数据库检查服务器包。 |
输出格式
默认输出是人类可读的控制台报告。对于自动化,请使用结构化格式:
# JSON output
npx @agentdefenders/mcp-scan --format json
# SARIF output (for GitHub Code Scanning and other SARIF consumers)
npx @agentdefenders/mcp-scan --format sarif
CI/CD集成
将MCP配置扫描添加到CI管道中。这 --ci flag输出GitHub Actions注释,编写markdown步骤摘要,默认为 --fail-on high.
GitHub操作(推荐)
- name: Scan MCP configurations
run: npx @agentdefenders/mcp-scan --ci
这将:
- 将调查结果打印为
::error::/::warning::操作日志中的注释 - 将降价摘要写入作业摘要选项卡
- 如果检测到任何高或临界结果,则以代码1退出
使用SARIF上传的GitHub操作
- name: Scan MCP configurations
run: npx @agentdefenders/mcp-scan --format sarif --fail-on high > mcp-scan.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: mcp-scan.sarif
其他CI平台
npx @agentdefenders/mcp-scan --quiet --fail-on high
CLI参考
| 标志 | 描述 | 默认值 |
|---|---|---|
--config <path> |
特定MCP客户端配置文件的路径。 | 自动检测 |
--format <type> |
输出格式: console, json, sarif. |
console |
--fail-on <severity> |
如果任何发现达到或超过严重程度,则以代码1退出: low, medium, high, critical。 |
已禁用(high 在CI模式下) |
--ci |
CI模式:GitHub操作注释、步骤摘要、无提示。暗示 --quiet。 |
已禁用 |
--api-key <key> |
AgentDefenders API密钥用于仪表板同步。启用远程结果存储。 | 无 |
--watch |
持续监控配置文件的更改,并在修改时重新扫描。 | 已禁用 |
--interval <seconds> |
使用时的轮询间隔(秒) --watch. |
30 |
--quiet |
抑制除发现和错误之外的所有输出。 | 已禁用 |
--badge |
为您的项目README生成一个盾牌徽章URL。 | 已禁用 |
隐私
所有分析都在您的计算机上本地运行。除非您明确提供,否则不会向任何外部服务发送任何数据 --api-key 用于仪表板集成。