AIが生成したコードがインターネットのあらゆる場所に組み込まれ続ける中、悪意のあるハッカーに悪用される攻撃対象領域が拡大しているとの懸念が高まっています。
一部の専門家は、大規模言語モデル(LLM)のサイバーセキュリティ能力が向上すれば、脆弱性が生み出される速度とほぼ同じペースでそれを発見し修正する「歯止め」になり得ると主張してきました。
しかし、OpenAIのChatGPT 5.5とAnthropicのClaude Opus 4.8という2つの著名な商用モデルのパッチ適用能力を検証した新たな研究によると、生成AIは脆弱性を確実に塞ぐよりも、悪用可能なパッチを作成したり、まったく新しいバグを生み出したりする可能性の方が高いことが分かりました。
1Passwordの研究者らは、攻撃者にLinuxクラウド環境へのroot権限を与えかねないカーネルの欠陥「Copy Fail」脆弱性を含む、「影響度が高く複雑性の高い」6件のCVEに対するモデルのパッチ適用能力をテストしました。新たな問題を生じさせることなく脆弱性を完全に修正できた総合成功率は47%と、コイントスにも及びませんでした。
「今回の研究結果は、さまざまなシナリオを総合すると、ClaudeとChatGPTの双方でパッチ生成の成功率が低いことを示しています。ここでいう成功とは、アプリケーションの挙動に誤った変更を加えることなく、既知のすべての悪用経路を完全に修復できた状態と定義しています」と、John Hoodlet氏、Axel Mierczuk氏、Spencer Michaels氏は記しています。
「モデルは脆弱なコードパスの一部にしか対処しないことが多く、テストは通過するものの脆弱性の根本原因への対処にはなっていない脆弱なガードコードを追加することもありました。さらに、目先の脆弱性にパッチを当てる際に、アプリケーションの挙動に微妙な変化を持ち込んでしまう場合もありました」と著者らは続けています。
この研究結果は、脆弱性の発見とパッチ適用をおおむね自律的に行う手法が、AI時代に爆発的に増えている脆弱なコードの修正においては、いまだ有効とは言えない可能性を示唆しています。
民間セクターの他の調査でも同様の問題が指摘されています。Veracodeが今年発表したレポートによると、LLMは動作するコードを組み立てる能力において「目覚ましい進歩」を遂げているものの、「セキュリティについては話が別」だといいます。複数の最先端モデルを対象にテストしたところ、AI生成コードのセキュリティに関する平均「合格率」は56%程度でした。GPT 5.5のような新しいモデルは70%近くまで迫る一方、半数以上のモデルは50~53%にとどまっています。
Veracodeは100種類の異なるモデルをテストしましたが、ばらつきはあるものの、全体としてはセキュリティパッチ適用に進歩を見せているモデルはごく一部で、残りは「停滞」を経験していることが分かりました。1Passwordの研究と同様に、Veracodeのテストでも44%のケースで、モデルが検出可能なOWASP Top 10脆弱性をコードベースに持ち込んでいました。
重要な留意点として、両レポートとも、Anthropicの「Mythos」やOpenAIの「GPT-5.6-Sol」といった、フロンティア企業各社がサイバーセキュリティ能力の大幅な向上を謳う最新モデルはテスト対象に含まれていません。
こうした先進モデルは、脆弱なコードを特定し修正することが可能です。AnthropicとOpenAIは、海外勢やオープンソースの代替勢力が対抗できるようになる前に、Project GlasswingやDaybreakを通じて主要産業にこれらのモデルを提供しています。
Veracodeの製品担当バイスプレジデントであるTim Jarret氏はCyberScoopに対し、AIツールはさまざまな制約を依然として抱えており、知見を持つ人間が関与しない状態でサイバーセキュリティのパッチ適用に使うには信頼性を欠く場合があると語りました。
SQLインジェクションのような脆弱性は自動化によって容易に修正できる一方、クロスサイトスクリプティングのようなバグは複数の異なる方法で悪用され得るため、完全に塞ぐには人間の目、追加のコンテキスト、あるいはその両方が必要になります。さらに、モデルは時間の経過とともに以前のセッションのコンテキストを徐々に失っていくことがあり、これがタスクを正しく完了する能力に影響し、欠落した部分を埋め合わせようとしてハルシネーション(幻覚)を起こす可能性を高めます。
「現時点では、それらのパッチはコードベースに対する単なる別のコード変更として扱い、エージェントに自由にコードをマージさせるのではなく、チームがレビューして承認する必要があると言うべきだと思います」とJarrett氏は述べました。
しかし同氏は、AIエージェントが人間の防御側がレビューすべきコードを指数関数的に増やし続ける世界では、それが不可能になるかもしれないとも認めています。何らかの自動コードレビューが必要になるでしょう。ただし、そのコードを生成したのと同じ自動化ツールによるレビューは望ましくありません。最終的な目標は、セキュリティにおいて常にそうであったのと同じ、「信頼せよ、されど検証せよ」ということに尽きます。
「90%のケースでは、人間によるチェックは『相互チェックの結果は良好だったか』『OKサインは出ているか』を確認するだけかもしれません」とJarrett氏は語ります。「何かおかしい点がまだ残っているケースでは、そこにもう少し注意を集中させることになります」
翻訳元: https://cyberscoop.com/ai-code-patching-security-risks/