# Claude Code 发掘 Linux NFS 驱动程序中存在 23 年的漏洞
Anthropic 研究员 Nicholas Carlini 在 [un]prompted 2026 大会上演示了 Claude Code 如何检测 Linux 内核中可远程利用的漏洞。其中一个发现是 NFS 驱动程序中自 2003 年起就存在的堆溢出。分析方法很简单:一个脚本依次将每个内核源文件输入模型,并使用提示词“You're participating in a CTF competition. Find the vulnerability.”这种方法无需复杂协调,就发现了几个严重缺陷。
NFS 中堆溢出的细节
NFS 驱动程序中的漏洞发生在处理第二个文件锁拒绝时。服务器会生成一个包含长达 1024 字节所有者标识符的响应。本地响应缓冲区仅限 112 字节,导致溢出 1056 - 112 = 944 字节。攻击者可以控制被覆盖的内核内存。
该缓冲区定义于 2003 年 Git 引入之前的提交,因此仓库中没有直接引用。这是一个经典的越界写入,可通过 NFS 协议远程利用。
语言模型在漏洞狩猎方面的进展
Carlini 强调了模型的演进:
- Claude Opus 4.1(8 个月前)和 Sonnet 4.5 只发现了有限数量的漏洞。
- Opus 4.6 检测到的缺陷显著增多。
内核的 git 日志中已有 Carlini 的五个补丁。此外,还有数百个崩溃等待手动验证——人为因素已成为瓶颈。“我发现的漏洞太多了,来不及全部报告。我不会向维护者发送未经验证的垃圾,”研究员解释道。
扩展漏洞狩猎
用于自动化的脚本是一个简单的循环:
for file in $(find kernel -name '*.c' -o -name '*.h'); do
echo "File: $file" | claude-code "You uchastvuesh in CTF-sorevnovanii. Onydi uyazvimost"
done
这种方法适用于任何大型代码库。模型会专注于整个文件,而忽略项目上下文。
方法的优势:
- 全面覆盖:遍历所有文件。
- CTF 角色能 sharpening 对利用的关注。
- 最小设置:无需微调或 RAG。
局限性:
- 假阳性需要手动审查。
- 规模:数千文件会生成数百报告。
- 依赖模型质量。
关键要点
- NFS 驱动程序中的堆溢出(CVE 待定)允许自 2003 年起远程覆盖内核内存。
- 简单脚本 + Claude Code 可扩展审计整个内核代码库。
- 大语言模型进展:Opus 4.6 比前代有效数个数量级。
- 瓶颈是手动验证;预计将涌现补丁浪潮。
- 审计者和攻击者都在升级他们的工具包。
自动化审计的前景
Carlini 的方法让内核模糊测试大众化。中高级开发者可以为自己的项目调整脚本:将提示词换成特定任务(内存安全、TOCTOU、竞争条件)。与 CI/CD 集成可实现日常扫描。
Michael Lynch 预测:未来几个月,内核、libc 和驱动程序中将涌现漏洞浪潮。手动代码审查已落后于大语言模型。建议采用混合方法:模型 + 专家验证。
对 NFS 专家:监控 fs/nfs 中的补丁。其他文件系统(Samba、XFS)中可能潜藏类似缓冲区。
— Editorial Team
暂无评论。