2026 年 6 月第一周,Linux 内核社区做了两件事:废止 AF_ALG 加密接口,砍掉 vmsplice() 零拷贝通道。
这两个东西被砍掉的理由非常一致:没人用,且漏洞太多,维护者修不过来了。至于为什么没人用的东西拖了这么多年才砍掉?你别问,问就是因为现在 AI 发现漏洞的效率实在是太高了。

两笔陈年技术债
AF_ALG 早在两个月前就爆出了一个致命漏洞。4 月底,CVE-2026-31431 公开,它有个更直白的名字叫 Copy Fail。专属网站 copy.fail 上提供一小段 Python 脚本,跑完就能在绝大多数 Linux 发行版拿到 root 权限,CVSS 评分 7.8,本地提权,从 2017 年延续至今,整整 9 年。
漏洞原理就不展开说了,这个漏洞发现的过程很符合当下流行的趋势:一个安全研究员用 AI 辅助的 fuzzing 工具,在 AF_ALG 的加密操作路径里找到了一个 race condition。这个 9 年来没人发现的漏洞,被 AI 很轻易地挖了出来。
最初发现这个漏洞时,该加密子系统维护者 Eric Biggers 先是在 5 月初提交了一份补丁,建议各发行版考虑直接禁用 AF_ALG。直到最近,他决定把整个接口废止,补丁注释里留下了最后一段话:这不可持续,尤其是在 LLM 加速了漏洞发现速度的情况下。
AF_ALG 允许用户空间程序直接调用内核加密引擎,设计初衷是避免每个程序自己实现加密。但整个 Linux 生态里只有 libkcapi、OpenAF_ALG 以及 cryptosetup 的少部分场景在用。用户空间加密方案(OpenSSL、libsodium)在性能和安全性上早就超越了内核方案。Biggers 的判断是迁移剩下不多的用户,比继续修 AF_ALG 的漏洞更划算。于是AF_ALG 被打上了 deprecated 标签,Linux 7.2 起正式生效。
同一周,vmsplice() 的零拷贝通道被移除。
vmsplice() 支持一种零拷贝模式,即用户空间可以把内存页直接交给内核,跳过数据拷贝。维护者 David Hildenbrand 决定关掉它,理由和 AF_ALG 一样:除了 libkcapi,全 Linux 生态几乎没人在用。而零拷贝模式天然容易触发 TOCTOU 竞态条件,允许用户空间在内核加密操作期间并发修改同一块内存,修一个冒一个。
Hildenbrand 在 LKML 上写得更直接:有用户,但只有 libkcapi 在用,不值得为一套几乎没人用的特性扛持续的漏洞修复成本。
AI 做了多年没人做的事
Copy Fail 在 AF_ALG 里潜伏了 9 年,维护者不是不知道这个接口有漏洞风险,只是没有人有精力把每一个冷门系统调用的每一行代码都审一遍。Linux 内核近 4000 万行代码,活跃维护者不过百人。
而 AI 改变了这个情况,一个搭载 LLM 辅助分析能力的 fuzzing 工具,可以在几小时内扫完一个接口的所有执行路径,把人类安全专家需要几周才能找到的竞态条件标记出来。
这也改变了内核社区做清理决策的方式,以前砍接口的决策链很长,报漏洞→修→再报→再修,反复多次后才开始讨论“这东西还有必要留着吗”。而 AF_ALG 的漏洞从被发现到整个接口宣布废止,全流程还不到一个月。
内核社区过去的行为逻辑是“不坏不修”,现在变成了“用的人不多,修不起,直接砍”。AI 没有替人做决策,而是把找到漏洞的速度提高了几个数量级,逼着维护者在更短时间内面对一直逃避的问题 —— 这笔技术债值不值得继续还。
工具的两面性
过去几年,开源社区面对 AI 的主流叙事是“防御”。Zig 完全禁止 AI 贡献,Rust 也在制定 LLM 禁用政策,Ghostty 对 AI 生成代码零容忍……低质量的 vibe-coded PR 确实给维护者们带来了额外的审核压力。
但 AI 在漏洞审计方面带来的效率提升确实是前所未有的,一个资深开发者需要几周才能完成的竞态条件审计,LLM 加持的工具几小时就能完成初步扫描。Copy Fail 被挖出来时是“发现”,如果它是在被攻击利用之后才被发现,就是“事故”,AI 把发现漏洞的时间差缩短到了对防守方有利的区间。
内核社区的两位子维护者 Biggers 和 Hildenbrand 都没有选“先修漏洞、再做长远考虑”的路线,直接快进到了砍掉整个接口,这种果断在 AI 大规模介入审计前不太可能出现。当然也不能说是以前的维护者不够果断,只是当时缺少支撑“这东西到底多危险”的判断依据,如今的 AI 补上了这个缺口。
Linux 内核 3000 万行代码,AF_ALG 是第一个被 AI 加速淘汰的接口,显然不会是最后一个。内核里功能小众、仍存在漏洞的接口有多少?没人能精确统计,但 AI 正在逐个把它们挖出来,帮内核社区甩掉那些早就该甩掉的历史包袱。
参考来源
- Phoronix: Linux 7.2 Proceeding To Deprecate AF_ALG Due To “Massive Attack Surface”-https://www.phoronix.com/news/Linux-AF_ALG-Deprecation
- Phoronix: Linux AF_ALG Crypto Code Removing Zero-Copy Support-https://www.phoronix.com/news/Linux-AF-ALF-Zero-Copy-Security
- LKML: Eric Biggers — Re: [PATCH] crypto: af_alg — Document the deprecation-https://lkml.org/lkml/2026/5/11/2668
- LKML: David Hildenbrand — Re: [PATCH 0/3] vmsplice: make vmsplice a no-op-https://lkml.org/lkml/2026/6/2/2031