AIの脆弱性修復、人の目なしでは力不足

AIと機械学習

自律的な修正では、脆弱性を完全に修復できないケースが多いことが判明

AIモデルはセキュリティ上の欠陥を修正するのがそれほど得意ではないのかもしれません。1Passwordの研究組織Off-by-1 Labsの研究者たちは、2つの最先端モデル――「medium」設定のChatGPT 5.5と「high」設定のClaude Opus 4.8――が生成したセキュリティパッチを分析しました。その結果、自律的な修正が脆弱性を完全に解消できたのはわずか4分の1程度にとどまり、残りの大半は欠陥を完全には修復できていなかったか、あるいは別の問題を新たに生み出していたことが分かりました。

1Passwordのセキュリティ研究ディレクターを務めるKeith Hoodlet氏はブログ投稿の中で、今回の結果はLLM主導のセキュリティ修復において依然として人間によるレビューが必要であることを示していると指摘しています。

Hoodlet氏は次のように述べています。「最近開示された6件のCVEを対象に、2つの最先端かつサイバーセキュリティ対応が可能な推論モデルを使い、合計6,080件のパッチを生成しました。アプリケーションの動作を実質的に変えることなく脆弱性を完全に解消できたパッチの生成成功率は、平均でわずか26.0パーセントでした」

AIが生成したパッチのうち、20.1パーセントは元の問題自体は修正したものの、アプリケーションの挙動を変えてしまっていました(たとえば「許可リスト」方式のロジックを「拒否リスト」方式に変えてしまうなど)。2.3パーセントのパッチは問題を修正した一方で、新たなセキュリティ上の問題を生み出していました。49.3パーセントのパッチは既存のエクスプロイト経路のうち少なくとも1つを塞げていませんでした。そして2.2パーセントは、脆弱性を修正できなかった上に新たなエクスプロイト経路まで生み出すという結果でした。

さらに、最初の2つのカテゴリ(修正に成功し挙動が変わらなかったもの、および修正には成功したが挙動が変わったもの)に分類されたパッチのうち、3分の1以上を研究者らは「脆弱(fragile)」と評価しました。つまり、調整後のコードは特定の脆弱性(たとえば特定の入力文字のエスケープなど)には対処できていたとしても、根本的な問題そのものには手が付けられていなかったということです。

研究論文[PDF]の中で、著者のAxel Mierczuk氏、Spencer Michaels氏、Keith Hoodlet氏は、自動生成されたLLMパッチを表す略語として「FLAWED」(Fix-Like Artifacts With Embedded Defects、欠陥を内包した修正もどきの成果物)という言葉を提案しています。生成されたパッチの分析結果を踏まえ、彼らは次のように結論づけています。「完全にLLMが生成し、人間によるレビューを経ていないパッチの期待値は、かなりの差でマイナスになる」

LLMが生成するパッチの価値は、最初に与えられる修正ガイダンスの質に左右されます。研究チームによれば、人間の開発者もLLMも脆弱性に取り組むには通常何らかの初期ガイダンスを必要としますが、誤ったアドバイスを与えられた場合、LLMのほうが道を誤りやすい傾向があるとのことです。

LLMが正しいガイダンスを与えられた場合、修正成功率は65.0パーセントに達しました。これに対し、ガイダンスがまったくない場合は50.4パーセントにとどまりました。そして誤ったガイダンスを与えられると、LLMの修正成功率は約15.2パーセントまで落ち込みました。

著者らは、人間の開発者であれば、脆弱なコードを読み解いていく過程で誤解を招く情報に気づける可能性が高いと論じています。

著者らは、組織がセキュリティ修正の有効性を評価する際に利用できるパッチ評価ハーネスを「FLAWED」という名称で公開しています。

この論文を読めば、AIが生成するパッチがなぜ魅力的に映るのかは明らかです。単純に比較すれば、人間のソフトウェアエンジニアに依頼するよりも費用がかからないからです。修正に成功し、かつ挙動を変えなかったパッチ1件あたりの平均コストは、失敗した試行分のコストも含めてわずか6.74ドルでした。

とはいえ著者らは、LLMによる修復支援を実用的なものにするためにどれだけの専門家によるレビューが必要になるかを踏まえた上で、費用対効果を分析する必要があると主張しています。

著者らは次のように結論づけています。「今回の研究で生成されたパッチの代表的なサンプルを手作業でレビューした結果から判断すると、多くの場合、ほとんどが不正確で、互いに似ているようで微妙に異なるLLM生成の脆弱性パッチの山をレビューする際に生じる認知的負荷は、人間のオペレーターが主導権を握り続ける標準的なLLM支援コーディング手法を用いてエンジニア自身が脆弱性を理解し修正する場合に必要となる労力よりも、結果的に大きくなる可能性が高いと考えられます」

「成功率がわずか4分の1程度しかないプロセスに対して認知的に白旗を上げてしまうという選択肢は、自律的なLLM主導のパッチ適用を検討しているあらゆる組織にとって、長期的に見て重大なリスクをはらんでいます」®


翻訳元: https://www.theregister.com/ai-and-ml/2026/08/06/ai-struggles-to-patch-vulns-without-adult-supervision/5284319

ソース: theregister.com