9 ポイント 投稿者 GN⁺ 25 일 전 | 2件のコメント | WhatsAppで共有
  • AnthropicのClaude Codeが、Linuxカーネルのリモート悪用可能な脆弱性を自動検出し、23年間見つかっていなかったNFSドライバのヒープバッファオーバーフローを発見
  • 単に「セキュリティ脆弱性はどこにあるか?」というプロンプトだけでカーネル全体を解析し、ほぼ監督なしで脆弱性を特定
  • このバグは、2003年のカーネルコードにおける112バイト固定バッファ設計に起因し、その後LOCK操作が追加された際にowner ID長の制限漏れによって発生
  • Carliniはこのほかにも数百件の潜在的なカーネル脆弱性を発見したが、人間による検証のボトルネックのため大半はまだ報告されていない
  • 最新のClaude Opus 4.6モデルは以前のバージョンよりはるかに高い検出能力を示し、AIベースのセキュリティ研究の転換点と評価されている

Claude Code、23年間見つからなかったLinux脆弱性を発見

  • Anthropicの研究者Nicholas CarliniがClaude Codeを使い、Linuxカーネルのリモート悪用可能な脆弱性を複数発見
    • そのうち1件は、23年間見つかっていなかったNFS(Network File System)ドライバのバッファオーバーフロー脆弱性
    • Carliniは「この種の脆弱性を自分で見つけたことはなかった」と述べ、Claude Codeの性能に驚きを示した
  • Claude Codeの脆弱性検出方法

    • Claude Codeはほぼ監督なしでLinuxカーネルのセキュリティ脆弱性を検出
      • Carliniは単に「セキュリティ脆弱性はどこにあるか?」というプロンプトを与え、カーネル全体のソースファイルを巡回するよう設定
    • 使用されたスクリプトは、各ファイルを対象にCTF(ハッキング大会)の状況を想定し、Claude Codeが最も深刻な脆弱性を/out/report.txtに記録するよう構成
      • findコマンドで全ファイルを探索し、各ファイルごとにClaude Codeが脆弱性を探す処理を繰り返し実行
    • 同一の脆弱性が重複報告されないよう設計されており、カーネルの全ファイルを個別に解析
  • NFS(Network File System)脆弱性

    • Claude Codeが発見した主な脆弱性は、Linux NFSドライバのヒープバッファオーバーフローで、攻撃者はネットワーク経由でカーネルメモリを読み取れる
    • 攻撃シナリオは、協調する2つのNFSクライアント(Client A、Client B) が1つのNFSサーバを対象に実行
      • Client Aが1024バイトの長いowner IDを使ってファイルロックを要求し、承認を受ける
      • その後Client Bが同じファイルにロックを要求すると、サーバはこれを拒否して応答メッセージを生成
    • 問題は、この拒否応答バッファのサイズがわずか112バイトしかない一方で、実際のメッセージはowner IDを含めると合計1056バイトに達すること
      • その結果、カーネルが1056バイトを112バイトのバッファに書き込み、攻撃者が制御するデータでカーネルメモリを上書きしてしまう
    • Claude Codeはこの脆弱性を報告する際、ASCIIプロトコル図まで自動生成して含めた
  • 23年間見つからなかった理由

    • このバグは、2003年3月にLinuxカーネルへ導入されたコードに起因
      • 当時のコミットメッセージには、NFSD4_REPLAY_ISIZEという112バイト固定バッファがOPEN、CLOSEなどのNFSv4操作には十分だと明記されていた
      • その後LOCK操作が追加された際、owner ID長の制限が考慮されず脆弱性が発生
    • このコードは**Git導入(2005年)**以前の変更であり、現在では直接リンクすらできない古いコードベースに属する
  • 報告されていない数百件の追加脆弱性

    • Carliniは数百件の潜在的なLinuxカーネル脆弱性をさらに発見したが、 人間による検証工程のボトルネックにより、大半はまだ報告されていない
      • 「未検証の結果をカーネルメンテナーに送ることはできないので、まだ確認できていない数百件のクラッシュがある」と述べた
    • 現時点でCarliniが直接修正または報告した脆弱性は5件と確認されている
      • nfsd: fix heap overflow in NFSv4.0 LOCK replay cache
      • io_uring/fdinfo: fix OOB read in SQE_MIXED wrap check
      • futex: Require sys_futex_requeue() to have identical flags
      • ksmbd: fix share_conf UAF in tree_conn disconnect
      • ksmbd: fix signededness bug in smb_direct_prepare_negotiation()
  • AIベースの脆弱性検出の進展

    • CarliniはClaude Opus 4.6(リリース2カ月前)を使ってこの脆弱性を発見
      • 以前のバージョンであるOpus 4.1(8カ月前)Sonnet 4.5(6カ月前) では同じ結果を再現できなかった
      • 最新モデルははるかに多くの脆弱性を検出できた
    • 彼は「今後数カ月のうちに研究者と攻撃者の双方がこれらのAIモデルの強力さを認識し、大規模なセキュリティ脆弱性発見の波が来るだろう」と予測
  • 発表およびその他の情報

    • この内容は**[un]prompted AI security conference 2026**で発表された
    • Claude Codeの発見事例は、AIが実際のセキュリティ研究の生産性を劇的に高め得ることを示す事例と評価されている

2件のコメント

 
m3op0w94 21 일 전

希望編: Linuxの脆弱性を発見
絶望編: curlのバウンティ廃止

 
GN⁺ 25 일 전
Hacker Newsの意見
  • 驚くことではない。ただ、記事で触れられていない点は、Claude Code誤検知バグ も1,000件見つけており、開発者がそれをふるいにかけるのに3か月かかったということだ

    • 今はそのようには動作しない。LLM が自前の 第2パイプライン で再現不能なバグを除外する。実際にトリガー可能な脆弱性かどうかの確認は、見つけることよりずっと簡単なので、ほぼ100%の精度で本物のバグだけが残る。LLM の進歩を否定する人はまだ多いが、有用性 を否定するのは難しい
    • ソースが気になる。そのような話は見たことがない。私の経験では Claude Opus 4.6 の脆弱性検出における誤検知率は20%以下だった
    • 静的/動的解析ツールも常に脆弱性を見つける。大半の大規模プロジェクトには、スキャナーが吐き出した 課題バックログ がすでにある。問題は、その中から実際に危険なものを選り分けることだ。Claude が古いバグを見つけたのは興味深いが、新しいスキャナーが出るたびにこういうことは起こる
    • 記事には誤検知が多いとは書かれていない。むしろ「まだ検証できていないバグが多すぎる」と述べられている
    • 教訓は Claude Codeが役に立たない ではなく、適切な人の手に渡れば 強力なツール になるということだ
  • 新しいコードをまとめて貼り付けて Claude に「何を見落としている? どこにバグがある?」と聞くのは、AI に初めて触れる開発者にとって非常に説得力のあるアプローチだ。特に スレッディング分散システムのバグ をすばやく見つけてくれる。今ごろ暗号資産のコードは大量に解析されているのではないか

    • 私は Claude が「バグがある」と前提するように プロンプトをバイアス するのが好きだ。「このコードにはバグがある。見つけられる?」と聞いたり、「バグは一見して分からない」と付け加えたりすると成功率が高かった
    • 私も CC/codex をほぼこのやり方で使っている
    • 「Codex が書いたコードなんだけど、何か変なところある?」という感じで使っている
  • 「隠れていた」バグというより、「誰も見ていなかった」と言う方が正確だ。コードは112バイトのバッファに1056バイトを書き込む構造だった。静的解析でも簡単に見つけられる問題だが、LLM に「固定長バッファをすべて調べろ」と言うと ハルシネーション の結果も混ざりうる。それでも良い出発点だ

    • ほとんどの脆弱性は「誰も見ていなかった」という理由で残っている。システムの複雑さが積み重なり、人間が追いきれなくなっている。こうした問題を解決できるなら大きなニュースだ。静的解析器はありうるすべてのバッファコピー経路を報告するが、実際には入力が制限される場合も多く、Linuxカーネル ではあまりうまく合わない
    • 実際のところ「誰も見ていなかった」のは人手不足のためだ。オープンソースの脆弱性を見つけられる人と時間は限られていた。しかし今やモデルが十分に 有能になって きており、その制約が崩れつつある。今年はとても面白い年になりそうだ
    • 静的解析器で簡単に見つけられたと言うが、実際には20年以上誰も見つけられなかった。LLM が何かすごいことをやると、いつも「そんなの大したことない」という反応が出るのが面白い
  • 興味深いことに、見つかった5件のバグのうち3〜4件は linux-hardened パッチ によって 緩和 されていたはずだ。たとえば io_uring の無効化、UAF 時のカーネルクラッシュ、ヒープオーバーフロー悪用の防止など

  • 「危険な武器を公開するので世界を安全にするのを手伝ってほしい。ただし購読料を払え」という感じの発表が滑稽だ。まるで生化学者が 化学爆弾 をばらまいて、「これを防ぎたければ金を払え」と言っているようだ。最近のソフトウェア業界は本当に皮肉だ

    • それはおかしい。脆弱性を見つけて報告することを 生化学兵器の散布 にたとえるなんて、行き過ぎだ
  • 複数の本番コードベースで実験を再現してみたが、重複・誤検知・悪用不能なバグ が多かった。それでも実際の 重大脆弱性(crit) もかなりあった

  • 発表のQ&A中に背景で再生されていた 映像 が気になった。NFS バグを USB ネットワーク経由で悪用する エクスプロイトデモ だったのだろうか?

  • これは私たちのセキュリティ研究室の関連プロジェクトだ。AI セキュリティエージェントで今年だけで 23件の脆弱性 を発見した

  • 3文字機関(情報機関) の 0-day 備蓄は急速に減っていきそうだ

  • 今後はさらに多くの 脆弱性レポート が出ると期待するのではなく、さらに多くの 攻撃の試み を想定すべきだ