sandraschi/copy-fail-mcp

GitHub: sandraschi/copy-fail-mcp

基于 MCP 的 CVE-2026-31431 Linux 内核本地提权漏洞测试工具,提供网络扫描、一键验证、设备群管理和缓解措施部署功能。

Stars: 0 | Forks: 0

# 复制失败 MCP

Just Ruff Python Biome FastMCP

**CVE-2026-31431 —— 有史以来发现的最严重的 Linux 漏洞。现在可以通过 MCP 进行控制。** 732 字节的 Python。无需编译。没有竞态条件。没有针对特定发行版的偏移量。 一击必中,对 2017 年以来构建的所有 Linux 内核实现通用的 root 权限。 该工具是一个 MCP 服务器 + Web 仪表板,用于测试任何可访问的 Linux 系统是否存在该漏洞。它的诞生是因为最初的 PoC 已经非常易于使用——这个工具只是增加了 UI、网络扫描和设备群追踪功能。 **警告:** 这是一个真实的内核 LPE。仅在你拥有或获得明确书面测试授权的系统上使用。在大多数司法管辖区,未经授权的使用属于重罪。 ## 为什么这是本世纪最严重的漏洞 | 属性 | Copy Fail | Dirty COW (2016) | Dirty Pipe (2022) | |----------|-----------|-------------------|-------------------| | **漏洞利用代码大小** | 732 字节 (Python stdlib) | ~200 行 C 代码 | ~100 行 C 代码 | | **是否需要编译** | 否 —— 纯 Python | 是 —— 编译 C 代码 | 是 —— 编译 C 代码 | | **竞态条件** | 否 —— 确定性执行 | 是 —— 存在竞态窗口 | 否 | | **针对特定发行版的偏移量** | 无 —— 所有环境下使用相同脚本 | 无 | 无 | | **磁盘上的痕迹** | 无 —— 仅限页缓存,校验和正常 | 无 | 无 | | **容器逃逸** | 是 —— 共享页缓存 | 是 | 是 | | **内核版本** | >= 4.14 (2017–至今) | >= 2.6.22 (2007–2018) | >= 5.8 (2020–2022) | | **受影响设备** | 数十亿(仍在增加) | 2018 年已修复 | 2022 年已修复 | | **永远不会被修复** | 数十亿的 IoT/嵌入式设备/路由器 | 大部分已修复 | 大部分已修复 | | **发现者** | AI (Xint Code, 1 小时扫描) | 人类研究员 | 人类研究员 | | **发现成本** | 约 $6 的云计算费用 | 数月的人工努力 | 数月的人工努力 | ### 使其史无前例的四个因素 **1. 它由 AI 在一小时内发现。** Theori 的 Xint Code 平台仅通过一条操作指令提示就扫描了 Linux 的 `crypto/` 子系统。一小时后,它找到了一个通用的 LPE,这个漏洞九年来逃避了所有的人类审查员、静态分析工具和模糊测试工具。该漏洞自 2017 年起就已存在,需要跨子系统的推理(AF_ALG socket 来源 + authencesn 暂存写入行为)——这正是原生 LLM 工具擅长发现的那种关联。发现成本微乎其微。这对漏洞格局的影响是生存性的。 **2. 该漏洞利用代码是 732 字节的纯 Python,无任何依赖。** 无需编译工具链。无需安装任何库。无需特定于架构的偏移量。它在 x86_64 服务器、aarch64 路由器、ARM NAS 设备以及任何其他运行 Python 3.10+ 的 Linux 硬件上的工作方式完全相同。你可以将其粘贴到 web shell 中,通过 netcat 管道传输,或从 USB 闪存盘写入。武器化的门槛实际上为零。 **3. 它不会在磁盘上留下任何痕迹。** 该漏洞利用代码仅破坏内核的内存页缓存。`/usr/bin/su` 的磁盘二进制文件永远不会被修改。所有通过比较磁盘校验和来工作的文件完整性工具——AIDE、Tripwire、dm-verity——都看不出任何问题。重启后破坏就会消失。检测漏洞利用代码*是否*运行过的唯一方法是通过 auditd 或 eBPF 捕捉其运行过程。在取证层面上,该漏洞利用是完全隐形的。 **4. 数十亿设备将永远不会被修复。** 主要的发行版(Ubuntu、RHEL、Debian、SUSE)在 72 小时内发布了补丁。但是该内核漏洞已经固化在 2017 年以来构建的、且配置为 `CONFIG_CRYPTO_USER_API_AEAD=y` 的所有 Linux 设备中——这基本上涵盖了所有设备。OpenWrt 路由器(截至 2026-05-02 尚无补丁)。运行 2019 年供应商内核的 IP 摄像机。固件分支冻结的智能电视。每次更新都需要 FDA 重新认证的医疗输液泵。支持生命周期为 10 年的工业控制器。Android 设备受益于一项*偶然的* SELinux 策略限制而得到保护——这并非内核修复——而已 root/自定义 ROM 的设备、旧款 Fire 平板电脑和 Android TV 棍棒则完全暴露。总体数量不是数百万。而是数十亿。而且对于大多数设备来说,补丁永远不会到来。 ## 本工具的功能 这是一个围绕公开 PoC 封装的**安全测试和意识提升工具**。 它没有做任何最初的 732 字节脚本尚未实现的功能。它所增加的是: - **网络扫描** —— 探测 /24 子网以查找 SSH 主机,通过 banner 标识 Linux 系统 - **设备群概览** —— 显示已发现主机及其漏洞状态的持久化仪表板 - **一键测试** —— 从 Web UI 检查内核、运行漏洞利用代码、应用缓解措施 - **安全的默认设置** —— 缓解措施预演、漏洞利用后清理、随处可见的警告横幅 - **多种入侵路径** —— SSH 代理、netcat 管道、web shell、物理访问 漏洞利用代码本身是公开的,极易复制,且已经无法撤销。该工具的存在是为了让拥有测试授权的人员能够快速、安全地进行测试。 ## 快速开始 ``` git clone https://github.com/sandraschi/copy-fail-mcp cd copy-fail-mcp just ``` 这将打开一个显示所有可用命令的交互式仪表板。运行 `just bootstrap` 来安装依赖项,然后运行 `just serve` 或 `just dev` 来启动。 ### 手动设置 如果你没有安装 `just`: # 安装 pip install copy-fail-mcp # 检查目标 copy-fail check --host 192.168.1.100 # 启动 Web 仪表板 copy-fail serve --http --port 10955 # 然后打开 http://localhost:10954 ## 所有 MCP 工具 | 工具 | 描述 | 入侵路径 | |------|-------------|---------| | `cf_scan_network` | 探测 /24 子网以查找 SSH 主机,标识 Linux | 直接连接 (异步 TCP) | | `cf_check_target` | 检查内核、AEAD 配置、发行版补丁状态 | SSH 代理 | | `cf_run_exploit` | 通过 SSH 部署 PoC,执行,并报告 root 权限 | SSH 代理 | | `cf_assess` | 一步完成检查 + 漏洞利用 | SSH 代理 | | `cf_apply_mitigation` | 模块黑名单或 initcall 黑名单 | SSH 代理 | | `cf_get_exploit_script` | 以文本形式返回原始的 732 字节 PoC | 任意通道 | | `cf_exploit_local` | 将 PoC 写入本地路径以便手动部署 | 本地 shell | ## 漏洞利用原理(30 秒概览) ``` User → AF_ALG socket (authencesn) → splice() target file → HMAC fails ↓ 4 bytes written past AEAD boundary ↓ Into page cache of /usr/bin/su ↓ su is now corrupted in memory ↓ Run su → root shell ``` 这个漏洞:两个单独看来无害的子系统行为,结合在一起时却变得致命。AF_ALG 的 splice 路径将页缓存页面暴露为可写的输出。authencesn 在合法的 AEAD 边界外写入了 4 个字节作为暂存空间。将它们结合起来,你就可以用精确控制的数据破坏任何可读文件的内存表示。该漏洞利用针对的是 `/usr/bin/su` 的权限检查。 ## 许可证 MIT。漏洞利用脚本由 Taeyang Lee / Theori / Xint Code Research Team 编写 ([原始 PoC](https://github.com/theori-io/copy-fail-CVE-2026-31431))。
标签:MCP, Python, Web报告查看器, 无后门, 本地提权, 自动化攻击