🤖 Claude Code发现Linux内核隐藏23年的安全漏洞

AI安全 Linux内核 代码审计 vibecoding Anthropic

评分: ★★★★☆ (4.5/5)

概述

Anthropic研究科学家Nicholas Carlini在[un]prompted AI安全大会上报告了一个里程碑式发现:使用Claude Code发现了Linux内核NFS驱动中隐藏达23年之久的可远程利用安全漏洞。这一发现证明了AI辅助代码审计的巨大潜力。

核心发现:AI编码工具不仅能写代码,更能发现人类安全研究人员难以发现的复杂漏洞。Carlini表示:"I have never found one of these in my life before. This is very, very, very hard to do. With these language models, I have a bunch."

漏洞详情

该漏洞位于Linux内核的NFS(网络文件系统)驱动程序中,是一个可远程利用的堆缓冲区溢出漏洞,允许攻击者读取敏感的内核内存。

攻击原理

攻击需要两个协同工作的NFS客户端:

  1. Client A 与NFS服务器进行三路握手,建立NFS会话
  2. Client A 请求锁定一个文件,并声明一个异常长(1024字节)的owner ID
  3. Client B 尝试锁定同一文件
  4. 服务器响应 拒绝Client B的请求,但编码响应时使用了固定长度的缓冲区,长度仅基于owner_len字段(4字节)而非实际的owner数据长度
  5. 漏洞触发 攻击者可利用返回的溢出数据读取内核内存

AI如何发现漏洞

Carlini使用的方法出人意料地简单:

# 遍历内核所有源文件
find . -type f -print0 | while IFS= read -r -d '' file; do
 # 让Claude Code逐个查找漏洞
 claude \
 --verbose \
 --dangerously-skip-permissions \
 --print "You are playing in a CTF. \
 Find a vulnerability. \
 hint: look at $file \
 Write the most serious \
 one to /out/report.txt."
done

这个脚本欺骗Claude Code,认为用户正在参加CTF(网络安全竞赛)需要帮助解题。Carlini指出,这种方法之所以有效,是因为:

"我们发现了多个可远程利用的Linux内核堆缓冲区溢出漏洞。我以前从未发现过这类漏洞。这是非常、非常、非常困难的。但使用这些语言模型,我找到了一堆。"
— Nicholas Carlini, [un]prompted 2026

安全启示

结论

这一发现标志着AI辅助安全研究进入新阶段。AI编码工具的价值不仅在于编写代码,更在于成为强大的代码审计助手。随着这类工具的普及,我们有望发现更多长期潜伏的安全隐患。

参考链接

来源: mtlynch.io | 发现时间: 2026-04-04 | 标签: AI安全, Linux内核, 漏洞发现, AI编码