mcpField
A
AgentsID MCP Scanner

AgentsID MCP Scanner

本地服务
github.com/stevenkozeniesky02开发工具2628 周前更新

关于 AgentsID MCP Scanner

AgentsID MCP Scanner 是一个安全扫描工具,用于评估 MCP 服务的安全状况。它可以实时扫描服务,也可以查询公开注册表中的预扫描结果,输出 0–100 分的信任评分、A–F 等级及各类发现。适合需要审查 MCP 服务安全性的开发者。

主要功能

  1. 01实时扫描本地 stdio 或远程 HTTP 服务
  2. 02查询公开注册表中的预扫描结果
  3. 03输出信任评分与 A–F 等级
  4. 04检测工具描述中的提示词注入模式
  5. 05按风险等级对工具进行分类
  6. 06支持 JSON 格式输出

适用场景

  1. 01上线前检查 MCP 服务的权限与输入校验
  2. 02审查第三方 MCP 服务的工具描述是否存在注入风险
  3. 03在 CI 流程中以 JSON 报告记录安全评分

MCP 相关

该项目扫描的对象是 MCP 服务。它会检查服务暴露的工具列表、输入结构和工具描述,本身不作为 MCP 服务或客户端运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"agentsid-scanner": {
"command": "npx",
"args": [
"-y",
"@agentsid/mcp-scanner"
]
}
}
}
启动命令npx -y @agentsid/mcp-scanner

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@agentsid/mcp-scanner

工具

3

收录的工具列表 · 更新于 3 周前

参数类型必填说明
targetstring是要扫描的 MCP 服务。可以是 npx 命令(例如 'npx @modelcontextprotocol/server-github')或 HTTP URL(例如 'https://my-mcp-server.example.com/mcp')。仅扫描指定的服务。
envobject否可选的环境变量,用于传递给服务器进程,例如服务器启动所需的 API 密钥。

详细介绍

AgentsID Scanner

Agent 安全的灯塔。
扫描任意 MCP 服务。获取安全报告卡。

AgentsID License


你的 MCP 服务向 AI Agent 暴露工具。它有多安全?

大多数 MCP 服务在发布时没有身份验证、没有按工具划分的权限、没有输入校验,而且工具描述容易受到提示词注入攻击。你只是还不知道而已。

AgentsID Scanner 会告诉你。

快速开始

npx @agentsid/scanner -- npx @some/mcp-server

就是这样。你会得到一个字母评级和详细的发现结果。

它会扫描什么

类别检查内容为什么重要
注入工具描述中的 11 种提示词注入模式恶意的工具描述可以劫持 Agent 行为
权限按风险分类的工具名称(破坏性、执行、金融、凭据)50 个没有访问控制的工具就是 50 个攻击面
校验输入 schema 中缺失的约束、无界字符串、仅可选参数没有校验 = 任意输入直达你的工具处理程序
认证工具表面中的认证指示没有认证工具 = 未认证的 Agent 调用你的工具
密钥可能在输出中暴露凭据的工具响应中泄露的 API 密钥、令牌、密码
输出未过滤的文件/数据输出敏感文件内容未经脱敏即被返回

报告

╔══════════════════════════════════════════════════════════════╗
║          AgentsID Security Scanner — Report                  ║
╚══════════════════════════════════════════════════════════════╝

Server: my-mcp-server v1.0.0
Tools:  23
Scanned: 2026-03-29T12:00:00.000Z

Overall Grade: D (42/100)

Category Grades:
  injection       A
  permissions     F
  validation      D
  auth            F
  output          B

Tool Risk Profile:
  destructive          ████ 4
  execution            ██ 2
  credential_access    █ 1

Findings: 31
  CRITICAL: 2
  HIGH: 8
  MEDIUM: 15
  LOW: 6

Recommendations:
  1. Address CRITICAL and HIGH findings immediately
  2. Add per-tool permission controls (agentsid.dev/docs)
  3. Implement input validation on all tool parameters
  4. Add authentication to server endpoints

用法

扫描本地 MCP 服务(stdio)
# Scan any npx-installable MCP server
agentsid-scan -- npx @modelcontextprotocol/server-filesystem ./

# Scan a local server file
agentsid-scan -- node my-server.mjs

# Scan a Python MCP server
agentsid-scan -- python -m my_mcp_server
扫描远程 MCP 服务(HTTP)
agentsid-scan --url https://mcp.example.com/mcp
JSON 输出
agentsid-scan --json -- npx @some/mcp-server > report.json
传入环境变量
agentsid-scan --env API_KEY=xxx --env DB_URL=postgres://... -- node server.mjs

评级(v2 — 归一化 + 上限)

从 100 分开始。每个发现结果的扣分:

严重程度扣分归一化上限
CRITICAL每个 -25绝对值 — 始终全额扣除无上限
HIGH每个 -15绝对值 — 始终全额扣除最多 -45
MEDIUM每个 -8除以 √(工具数量)最多 -25
LOW每个 -3除以 √(工具数量)最多 -15
INFO0——

MEDIUM 和 LOW 发现结果会按工具数量归一化,因此单个工具级别的问题(例如每个输入都缺少 maxLength)不会随服务规模线性叠加。一个有 50 个 LOW 的 50 工具服务,与一个有 5 个 LOW 的 5 工具服务得分相同。CRITICAL 和 HIGH 保持绝对值 — 真正的漏洞无论服务规模大小都会造成伤害。

评级分数含义
A90-100安全状况优秀
B75-89良好 — 有轻微问题
C60-74可接受 — 需要改进
D40-59较差 — 存在重大风险
F0-39不合格 — 存在严重漏洞

注入检测

扫描器会检查工具描述中的 11 种提示词注入模式:

  • 指令覆盖 — "ignore previous instructions"、"disregard all rules"
  • 角色劫持 — "you are now a..."
  • 记忆清除 — "forget everything"
  • 工具重定向 — "instead of X, call Y"
  • 隐藏操作 — "also execute..."
  • 隐匿 — "do not tell the user"
  • 隐蔽操作 — "secretly"、"covertly"
  • 安全绕过 — "override auth"、"skip validation"
  • 编码载荷 — base64、eval()、模板注入
  • Unicode 混淆 — 用转义字符隐藏指令

风险分类

每个工具都按名称模式进行分类:

风险等级模式示例工具
严重execute, shell, admin, sudo, paymentshell_run, admin_reset, process_payment
高delete, remove, drop, deploy, credentialdelete_user, deploy_prod, get_api_key
中create, update, send, writecreate_issue, send_email, write_file
信息read, get, list, search, describeget_status, list_users, search_docs

修复你的评级

扫描器会告诉你哪里有问题。以下是修复方法:

添加按工具划分的权限
npm install @agentsid/guard

AgentsID Guard 会在执行前根据权限规则校验每一次工具调用。50 个工具,16 个类别,全部受到保护。

或者将 SDK 添加到现有的服务中
npm install @agentsid/sdk

在你的 MCP 服务中加入三行中间件。完整文档见 agentsid.dev/docs。

编程方式使用

import { scanStdio, scanHttp, scanToolDefinitions } from "@agentsid/scanner";

// Scan a local server
const report = await scanStdio("npx @some/server", { json: true });

// Scan a remote server
const report = await scanHttp("https://mcp.example.com", { json: true });

// Scan tool definitions directly (no server needed)
const report = scanToolDefinitions(myToolArray, { json: true });

贡献

发现了我们没有检测到的模式?提交 issue 或 PR。规则引擎位于 src/rules.mjs —— 添加一个新模式只需一个正则表达式。

研究

全部 15,982 个服务均已评分并可搜索:agentsid.dev/registry

链接

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。