内容
<img width="2175" height="377" alt="gh" src="https://github.com/user-attachments/assets/1e16e695-7ad4-43d6-9af7-8c0c1feef392" />
___
**MCPhantom** 是一个用于MCP端点侦察和利用的本地Web仪表盘。将其指向任何MCP URL,发现暴露的资源、模板、工具和提示,然后从干净的安全控制台UI与它们交互。在本地运行于 127.0.0.1:1337;无需云,无需设置,只需Python。项目文档可以在 [这里](https://github.com/Dragkob/MCPhantom/blob/main/DOCUMENTATION.md) 找到。
___
> [!WARNING]
> MCPhantom 是一个可扩展的安全审计框架;不是一个开箱即用的通用扫描器。它为MCP聚焦的侦察和漏洞测试提供了一个坚实的基础,但它被故意设计为一个 <ins><b>起始框架</b></ins>,您需要根据目标、环境和方法进行调整。
> - 不能保证在每个MCP服务器上开箱即用:功能、模式、传输和响应格式在不同实现中差异很大。分类、有效载荷传递和证明检测可能需要根据目标进行调整。
> - 有效载荷覆盖范围故意有限:MCPhantom包含针对SQL注入、命令注入、SSRF、路径遍历、IDOR和信息泄露等类别的代表性探测,但它 **不** 提供详尽的单词列表或与sqlmap、Burp Intruder或商业DAST平台等工具相当的引擎规模模糊测试。
> - 证明启发式是尽力而为:发现结果根据响应信号(错误、数据泄露、版本字符串、反射输出等)进行评分。没有目标特定的自定义,可能会出现假阳性和假阴性。**这就是为什么该框架还允许您进行手动审计。**
> - 鼓励您扩展它:该项目是开源的,因此您可以增加有效载荷库、添加插件、改进分类器、与CI/CD管道集成或为您的用例加强检测逻辑。
___
<div align="center">
### 视频演示
</div>
https://github.com/user-attachments/assets/b62d3a80-2b38-4b5c-a11b-029192279470
<div align="center"><i>所有演示和测试都在受控环境中进行,针对的是故意暴露漏洞的系统。<br />没有针对或损害真实世界的系统。</i></div>
___
<div align="center">
### 🛠️ 功能 🛠️
</div>
<table>
<thead>
<tr>
<th>类别</th>
<th>功能</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2"><strong>发现</strong></td>
<td>MCP枚举</td>
<td>从目标MCP端点发现资源、资源模板、工具和提示</td>
</tr>
<tr>
<td>能力分类</td>
<td>标记能力(例如URL、命令、数据库、路径、ID)以决定应用哪些测试</td>
</tr>
<tr>
<td rowspan="2"><strong>界面</strong></td>
<td>Web仪表盘</td>
<td>基于浏览器的控制台,位于 <code>http://127.0.0.1:1337</code>,具有暗/亮主题</td>
</tr>
<tr>
<td>实时交互</td>
<td>从UI读取资源/模板、调用工具、运行提示并填充模板占位符</td>
</tr>
<tr>
<td rowspan="4"><strong>自动渗透</strong></td>
<td>智能定向扫描</td>
<td>仅在标签/参数建议相关时运行插件匹配的检查 - 避免在所有地方进行盲目模糊测试</td>
</tr>
<tr>
<td>并行执行</td>
<td>并发运行多个能力检查,并带有每检查和每有效载荷超时</td>
</tr>
<tr>
<td>流式结果</td>
<td>NDJSON进度流,包含实时覆盖、发现结果和完成百分比</td>
</tr>
<tr>
<td>扫描覆盖报告</td>
<td>每种能力的狀態(易受攻击、干净、超时、错误)以及命中次数和备注</td>
</tr>
<tr>
<td rowspan="6"><strong>插件</strong></td>
<td>SQL注入</td>
<td>单列UNION探测、DB版本提取和模式/表枚举(SQLite、MySQL、PostgreSQL、MSSQL、Oracle)</td>
</tr>
<tr>
<td>命令注入</td>
<td>Shell元字符和允许列表绕过样式有效载荷与MCP响应解析</td>
</tr>
<tr>
<td>SSRF</td>
<td>内部/本地主机和元数据样式URL探测</td>
</tr>
<tr>
<td>路径遍历</td>
<td>常见文件系统路径逃逸有效载荷</td>
</tr>
<tr>
<td>IDOR</td>
<td>ID类参数的标识符操作探测</td>
</tr>
<tr>
<td>信息泄露</td>
<td>用于敏感输出的基线和详细/错误触发请求</td>
</tr>
<tr>
<td rowspan="3"><strong>引擎</strong></td>
<td>中央有效载荷仓库</td>
<td>所有有效载荷都位于 <code>audit/payloads.py</code> - 添加类别和条目,无需重写插件</td>
</tr>
<tr>
<td>证明评分(SQLi)</td>
<td>根据证据强度对发现结果进行排名;过滤仅反射和重复错误响应</td>
</tr>
<tr>
<td>插件架构</td>
<td>通过 <code>audit/plugin_loader.py</code> 加载的模块化插件 - 直接添加新的漏洞类别</td>
</tr>
<tr>
<td><strong>可扩展性</strong></td>
<td>开源</td>
<td>分叉、扩展有效载荷列表、添加插件并根据目标和工作流程定制检测</td>
</tr>
</tbody>
</table>
<div align="center">
___
### 快速入门
</div>
```bash
python web_server.py
# 打开 http://127.0.0.1:1337,输入一个MCP端点,运行开始侦察。
```
___
> [!CAUTION]
> MCPhantom **仅限** 用于授权的安全评估、研究和教育目的。仅在您拥有或有明确测试权限的系统上使用它。有关保修和责任条款,请参见 [LICENSE](LICENSE) 文件。