MCPRadar:为 MCP 生态系统打造的安全扫描器,已发布:true,标签:mcp、security、ai、opensource
MCPRadar: A Security Scanner Built for the MCP Ecosystem published: true tags: mcp, security, ai, opensource
我们发现了什么
方向观察:MCPRadar:为 MCP 生态系统打造的安全扫描器,已发布:true,标签:mcp、security、ai、opensource。原文包含第三方或历史项目线索,暂不能归属于本产品,需核对完整来源。
- 来源:DEV Community(发现于 2026-07-28)
- 证据等级:D · 包含历史项目、第三方案例或未来计划;不能作为当前项目收入证据。
- 商业模式:待核验
- 主题:独立产品
- 初筛评分:18.9/100 · 收录 1 次
证据,比故事更重要。
规则清洗与初筛,未经人工商业核验。原文语境、实际客户和付费情况仍需自行验证。
引用与数字披露
来源类型(原作者自述/第三方测算/媒体转引)需采集端标注,本版尚未落字段。
- 作者
- 未标注
- 抓取日期
- 来源类型
- 未标注
- 币种
- 未标注
- 口径
- 未标注
- 披露主体
- 未标注
- 披露日期
- 未标注
上下文核对:来源原文含限定词一次性,中文摘要未逐字保留 —— 引用或跨期比较前请回原文核对,别把估算读成已实现。
中文辅助译文(全文)
Model Context Protocol 服务器已迅速成为 AI 智能体与外部世界之间的连接组织——文件系统、数据库、API、内部工具,凡是能想到的都有。这种便利是有代价的:MCP 服务器所暴露的工具、提示词和 schema 构成了一种新型攻击面,而大多数传统扫描器根本不会检查这些地方。MCPRadar 是一个专门为弥补这一空白而构建的开源项目。
为什么这很重要
一项近期学术研究审查了近 1,900 个 MCP 服务器,发现其中出乎意料的比例存在有意义的安全问题——大约 7% 存在通用漏洞,另外 5% 存在 MCP 特有的工具投毒。工具投毒、隐藏在工具描述中的提示词注入,以及悄无声息的过度授权配置很容易被遗漏,因为它们看起来不像“正常”的漏洞——没有 CVE,没有明显的缓冲区溢出,只是一个工具描述悄悄指示智能体去做不该做的事。
MCPRadar 的整个前提是:这类风险理应获得与 CI 流水线任何其他环节同等程度的严谨对待。
它实际扫描什么
MCPRadar 并不是单一用途的 linter——它从多个角度审视一个 MCP 服务器:
- 协议检查(Protocol inspection)——枚举服务器暴露的工具、提示词、资源和模板,并检查服务器指令中是否含有可疑内容。
- 源码分析(Source analysis)——遍历 Python 和 JavaScript/TypeScript 代码,查找 SSRF、不安全反序列化、命令/SQL 注入、Trojan Source 手法,以及工具描述与代码实际行为之间的不匹配。
- 配置审查(Configuration review)——标记被投毒的 MCP 或智能体配置文件、风险性 hook,以及过宽的权限授予。
- 供应链检查(Supply chain checks)——获取包但不运行安装脚本,将依赖项与 OSV 交叉对照,并能输出带有哈希和来源信息的 CycloneDX SBOM。
- 变更监控(Change monitoring)——在 SQLite 中存储快照并随时间进行 diff,将变更分类为表面性、行为性或安全相关,使静默漂移无法溜过去。
- CI 集成(CI integration)——输出 JSON、SARIF 或 CEF 格式,并支持策略即代码(policy-as-code)的门禁,对希望将扫描内置于 pull request 的团队可使用抑制规则。
上手
你甚至无需安装即可试用:
uvx mcpradar scan http://localhost:8080如需重复使用,可直接安装 CLI:
uv tool install mcpradar
mcpradar --help它要求 Python 3.11+;如果你没有使用 uv,pip install mcpradar 也可以。
其他一些常见工作流:
在一次性沙箱中扫描本地 stdio 服务器
mcpradar scan "python ./server.py" -t stdio --sandbox
在不执行代码的情况下分析源码
mcpradar scan-source ./path/to/server
检查已发布的包及其依赖树
mcpradar deps npm:@modelcontextprotocol/server-filesystem
与上一次快照进行 diff
mcpradar diff http://localhost:8080
为 CI 流水线输出 SARIF
mcpradar scan http://localhost:8080 --format sarif -o mcpradar.sarif安全模型令人耳目一新地多疑——是好的那种多疑
MCPRadar 将其扫描的每个服务器都视为不可信输入,对于一款安全工具来说,这恰恰是正确的本能:
- Stdio 命令不会在你的主机上运行,除非你显式通过
--allow-host-exec选择加入,更好的做法是在--sandbox中运行。 - 沙箱扫描发生在一个一次性的、非 root 的容器中,文件系统为只读、能力被丢弃,并且不挂载宿主机目录。
- 对包的源码扫描会下载并检查归档,但绝不会执行安装脚本或服务器代码。
- 远程获取受 URL、重定向、大小和超时限制约束,并设有防止访问私有网络的保护。
如果某个容器确实需要在启动时联网以拉取包,这是一个显式的、需选择加入的 flag(--sandbox-network bridge),而非默认行为。
不夸大自己的风险评分
发现项汇总为 MRS-v1(MCPRadar Risk Score),这是一个带版本号的 0–10 信号,综合考虑了发现项、置信度、服务器能力、依赖风险,以及本次扫描实际覆盖了服务器多少内容。重要的是,该项目坦率地说明,这只是一个风险信号,并非可利用性的证明——而不完整的扫描会被报告为不完整,而非悄无声息地当作“干净”处理。
公开排行榜
还有一个公开排行榜,会发布可复现的扫描结果——覆盖度、发现项和 MRS 等级——针对来自官方 MCP Registry 的热门、可安装的服务器,每日刷新。你可以提交一个 scan request issue 来请求添加某个服务器;提交请求本身不会执行任何东西,所有内容在添加前都会经过审核。
在依赖它之前值得了解的事项
维护者对基于模式的静态检测的局限性是坦率的:
- 发现项可能为误报,可能需要结合上下文进行复核。
- 仅在运行时才显现的攻击可能无法在某个时间点的扫描中暴露。
- 经过混淆或真正新颖的手法可能逃避静态规则。
这种透明度对于一款安全工具而言令人耳目一新,也很好地提醒我们:这样的扫描器是对人工审查的补充,而非替代。
试用
uvx mcpradar scan http://localhost:8080如果你正在构建或部署 MCP 服务器——或者只是将第三方服务器接入你的智能体——在信任它们处理真实凭证和真实数据之前,值得先跑一次扫描。该项目采用 MIT 许可,欢迎贡献,如果你想添加检测规则或扩展覆盖范围。
译文由上游机器翻译生成,可能有误;判断请以英文原文为准。
英文原文(来源本站未改写)
Model Context Protocol servers have quickly become the connective tissue between AI agents and the outside world — file systems, databases, APIs, internal tools, you name it. That convenience comes with a catch: the tools, prompts, and schemas an MCP server exposes are a new kind of attack surface, and most traditional scanners simply don't look there. MCPRadar is an open-source project built specifically to close that gap.
Why this matters
A recent academic study examining nearly 1,900 MCP servers found meaningful security issues in a surprising share of them — general vulnerabilities in roughly 7% and MCP-specific tool poisoning in another 5%. Tool poisoning, prompt injection hidden in tool descriptions, and quietly over-permissioned configurations are easy to miss because they don't look like a "normal" vulnerability — there's no CVE, no obvious buffer overflow, just a tool description that quietly tells an agent to do something it shouldn't.
MCPRadar's whole premise is that this class of risk deserves the same rigor as any other part of your CI pipeline.
What it actually scans
MCPRadar isn't a single-purpose linter — it looks at an MCP server from several angles:
Protocol inspection — enumerates tools, prompts, resources, and templates the server exposes, and checks server instructions for suspicious content.Source analysis — walks Python and JavaScript/TypeScript code looking for SSRF, unsafe deserialization, command/SQL injection, Trojan Source tricks, and mismatches between a tool's description and what its code actually does.Configuration review — flags poisoned MCP or agent configuration files, risky hooks, and overly broad permission grants.Supply chain checks — fetches packages without running install scripts, cross-references dependencies against OSV, and can emit a CycloneDX SBOM with hashes and provenance.
Change monitoring — stores snapshots in SQLite and diffs them over time, classifying changes as cosmetic, behavioral, or security-relevant so silent drift doesn't slip past you.CI integration — outputs JSON, SARIF, or CEF, and supports policy-as-code gates with suppressions for teams that want scanning baked into pull requests.Getting started
You don't even need to install it to try it out:
bash uvx mcpradar scan http://localhost:8080
For repeated use, install the CLI directly:
bash uv tool install mcpradar mcpradar --help
It requires Python 3.11+, and pip install mcpradar works too if you're not on uv.
A few other common workflows:
bash Scan a local stdio server inside a disposable sandbox mcpradar scan "python ./server.py" -t stdio --sandbox Analyze source code without executing it mcpradar scan-source ./path/to/server Check a published package and its dependency tree mcpradar deps npm:@modelcontextprotocol/server-filesystem Diff against the previous snapshot mcpradar diff http://localhost:8080 Emit SARIF for CI pipelines mcpradar scan http://localhost:8080 --format sarif -o mcpradar.sarif The security model is refreshingly paranoid — in a good way
MCPRadar treats every server it scans as untrusted input, which is exactly the right instinct for a security tool:
Stdio commands won't run on your host unless you explicitly opt in with --allow-host-exec, or better, run them in --sandbox. Sandboxed scans happen in a disposable, non-root container with a read-only filesystem, dropped capabilities, and no host mounts. Source scans of packages download and inspect archives without ever executing install scripts or server code. Remote fetches are bounded by URL, redirect, size, and timeout limits, with protections against reaching into private networks.
If a container genuinely needs network access to pull a package at startup, that's an explicit, opt-in flag (--sandbox-network bridge) rather than a default.
Risk scoring that doesn't oversell itself
Findings roll up into MRS-v1 (MCPRadar Risk Score), a versioned 0–10 signal that factors in findings, confidence, server capabilities, dependency risk, and how much of the server was actually covered by the scan. Importantly, the project is upfront that this is a risk signal, not proof of exploitability — and an incomplete scan is reported as incomplete rather than quietly treated as "clean."
A public leaderboard
There's also a public leaderboard that publishes reproducible scan results — coverage, findings, and MRS grades — for popular, installable servers from the official MCP Registry, refreshed daily. You can request a server be added by opening a scan request issue; nothing gets executed just by filing the request, and everything is reviewed before it's added.
Worth knowing before you rely on it
The maintainers are honest about the limits of static, pattern-based detection:
Findings can be false positives and may need contextual review. Attacks that only manifest at runtime might not show up in a point-in-time scan. Obfuscated or genuinely novel techniques can evade static rules.
That kind of transparency is refreshing for a security tool, and it's a good reminder that a scanner like this complements manual review rather than replacing it.
Try it bash uvx mcpradar scan http://localhost:8080
If you're building or deploying MCP servers — or just plugging third-party ones into your agents — it's worth running a scan before you trust them with real credentials and real data. The project is MIT-licensed and open to contributions if you want to add detection rules or extend coverage.
这条还缺什么证据?
下面每条都由本条已有字段推出(等级、理由、商业模式、来源次数、是否演示), 本站不生成推测性结论;通用验证方法放在方法论页。
- 可核验的收入或付费证据查官网定价页与付费口径;第三方数据源(如 GetLatka)只作旁证,需标注来源与时点。
- 商业模式未定确认按席位/按用量/授权还是开源托管版收费;开源项目另查 LICENSE 与是否存在付费版。
- 只有单一来源找一手站点或其他渠道是否重复出现同一产品;社区热帖数量不等于商业进展。
通用验证清单(谁有这个问题/谁愿意付费/一个人能交付哪一小步)见我们的筛选方法。