概要
- Anthropic の研究者 Nicholas Carlini が Claude Code でLinuxカーネルの脆弱性を多数発見
- 23年間発見されなかった NFS脆弱性 も特定
- シンプルなスクリプトでAIにソースコード解析を指示
- 見つかった脆弱性の多くは リモート攻撃可能な深刻なバグ
- LLMの進化で今後さらに多くの脆弱性発見が予想される
Claude CodeによるLinuxカーネル脆弱性発見
- Nicholas Carlini は Anthropic の研究者であり、 [un]prompted AIセキュリティカンファレンス で成果を発表
- Claude Code を用いて、Linuxカーネルに複数のリモートから悪用可能な脆弱性を発見
- 23年間未発見だった NFSドライバのバグ も特定
- Carlini自身も「この種のバグを見つけたのは初めて」と驚きを表明
Claude Codeによるバグ発見の方法
- カーネル全ファイルをループ処理し、各ファイルごとに「脆弱性を探せ」とAIに指示するシンプルなスクリプトを使用
- 例:
find . -type f -print0 | while ... claude ... "Find a vulnerability. ..."
- 例:
- CTF(Capture the Flag)競技を想定したプロンプトでAIに解析を促進
- 各ファイルごとに個別解析することで、同じバグの重複検出を回避
NFS脆弱性の詳細
- 問題箇所:Linuxの NFS(Network File System)ドライバ
- 攻撃者が2つのNFSクライアントを利用し、サーバへ特殊なリクエストを送ることで攻撃
- バッファオーバーフロー :サーバが112バイトのバッファに最大1056バイトを書き込む設計ミス
- 攻撃者が制御可能なデータでカーネルメモリを上書き可能
- ASCIIプロトコル図もClaude Codeが自動生成
23年間未発見だった理由
- バグの初出は 2003年3月、LinuxカーネルのNFSv4実装時
- 静的バッファサイズ (112バイト)に対し、設計上最大1024バイトのデータを格納する可能性
- Git登場以前の古いコードであり、追跡も困難
大量の未報告バグ
- Carliniはさらに数百件の潜在的バグを発見
- 手動検証が追いつかず、全てを報告できていない現状
- 既に修正・報告済みの主なバグ
- nfsd: NFSv4.0 LOCKリプレイキャッシュのヒープオーバーフロー修正
- io_uring/fdinfo: SQE_MIXEDラップチェックのOOBリード修正
- futex: sys_futex_requeue()に同一フラグ要件追加
- ksmbd: tree_conn切断時のshare_conf UAF修正
- ksmbd: smb_direct_prepare_negotiation()の符号誤り修正
LLMによる脆弱性発見の進化
- Claude Opus 4.6 (リリース2ヶ月未満)で多数のバグを発見
- 旧モデル(Opus 4.1, Sonnet 4.5)では発見率が大幅に低い
- 今後、研究者や攻撃者によるバグ発見が急増する可能性
参考講演
- Nicholas Carlini - Black-hat LLMs at [un]prompted 2026