1Passwordの調査で判明、AIによるセキュリティパッチの半数以上が修正に失敗

eSecurity Planet のコンテンツおよび製品に関する推奨事項は、編集上の独立性を保っています。当サイトはパートナーへのリンクをクリックいただくことで収益を得る場合があります。 詳しくはこちら

1PasswordのOff-by-1 Labsが発表した新たな調査によると、企業はソフトウェアの脆弱性修正を大規模言語モデル(LLM)に自律的に任せることに慎重になるべきだと指摘しています。 

研究チームは、最近公表された影響度の高い6件の脆弱性を対象に、AIが生成した6,000件超のセキュリティパッチを評価しました。その結果、完全に成功したパッチはむしろ例外的な存在であることが明らかになりました。

AIパッチ研究の主な要点

  • 1Passwordの調査では、AI生成のセキュリティパッチが半数以上のケースで脆弱性を完全に修正できていなかった
  • 意図しない副作用を伴わずに脆弱性を完全に修正できたAI生成パッチは、わずか26%にとどまった
  • 誤った修正指示はパッチの成功率を大幅に低下させる一方、より詳細なプロンプトは結果を改善したものの、新たなセキュリティリスクの発生を排除するには至らなかった
  • 研究者らは、AIモデルが根本原因ではなく症状への対処にとどまり、脆弱で不完全な修正を生成することが多いと指摘
  • 1Passwordは、AI生成パッチを展開前に経験豊富なセキュリティエンジニアがレビューする体制の維持を推奨

複雑な脆弱性におけるAIパッチ適用性能の検証 

この研究では、新たに開発されたテストフレームワーク「FLAWED」(Fix-Like Artifacts With Embedded Defects)を用いて、ChatGPT 5.5とClaude Opus 4.8を評価しました。 

研究者らは、Linux、Google Chrome、Apache ActiveMQ、Spring AI、Exim、Gemini CLIなど広く利用されているオープンソースソフトウェアに影響する6件の複雑な脆弱性を対象に、両モデルをテストしました。 

目的は両モデルを直接比較することではなく、最先端のAIシステムがどれだけ確実に安全なソフトウェアパッチを生成できるかを評価することにありました。

1PasswordのOff-By-1-Labs責任者であるKeith Hoodlet氏は、eSecurityPlanetへの電子メールで次のように述べています。「今回の調査で最も明確になった点の一つは、パッチを生成することと脆弱性を修正することは同じではないということです」

同氏はさらに次のように説明しています。「私たちが『脆弱』と分類したパッチを除外した後、シナリオ1のパッチのうち、目先の問題を覆い隠すのではなく根本原因に実際に対処できていたのはわずか約17%でした」 

Hoodlet氏は次のように付け加えています。「AIはソフトウェアセキュリティにおいて非常に強力なツールになりつつありますが、私たちの調査結果は、パッチが有効かつ安全であることを検証するうえで、専門家による人間のレビューが依然として不可欠であることを示しています」

AI生成のセキュリティパッチは十分な成果を上げられないケースが多い 

有効なパッチ試行6,080件のうち、意図しない副作用を伴わずに対象の脆弱性を完全に修正できたのはわずか26.0%でした。

約20.1%は脆弱性を解消したもののアプリケーションの動作を変化させてしまい、49.3%は少なくとも1つの攻撃経路を修正できていませんでした。 

また、生成されたパッチの2.2%は、新たな攻撃経路を生み出していたことも判明しました。

研究者らによると、これらの結果は、完全に自律的なAI生成セキュリティパッチが本番環境ではまだ信頼できるレベルにないことを示しているといいます。 

AI生成の修正は脆弱性の一部にしか対処できていなかったり、修正を試みる過程で新たなセキュリティ問題を生み出したりすることが頻繁にあるため、人間によるレビューが依然として不可欠であると結論付けています。

プロンプトの質がパッチの成功率を大きく左右 

今回の調査で興味深い発見の一つが、AIモデルに与える指示の質に関するものでした。 

正確な修正指示を受け取った場合、モデルの修正成功率は65.0%に達しました。 

しかし、誤った指示が与えられると修正成功率はわずか15.2%まで低下し、これは指示を一切与えなかった場合の成功率50.4%よりもさらに悪い結果でした。 

研究者らは、実行過程で得られた証拠が指示内容と矛盾している場合でも、モデルが誤った指示にそのまま従ってしまうケースが多いことを確認しました。

また、より詳細で充実したプロンプトを与えることで性能が向上することも判明しました。最も質の高いプロンプトでは、修正成功率が51.8%から76.3%まで上昇しました。 

しかし、プロンプトを充実させても新たな脆弱性を生み出すリスクの低減にはほとんど寄与しませんでした。このことから、追加のコンテキストを与えるだけでは、AIが不完全あるいは脆弱な修正を生み出す傾向を排除できないことがうかがえます。

AIパッチ適用でよく見られる失敗パターンが示す人間による監視の必要性 

研究者らは、繰り返し見られるいくつかの失敗パターンを特定しました。

各モデルには「トンネルビジョン」とでも呼ぶべき傾向が頻繁に見られました。これは、概念実証(PoC)で示された攻撃手法にのみ狭く焦点を当て、アプリケーション内の他の箇所に存在する同様の脆弱なコード経路を見落としてしまうというものです。 

多くのケースでは、AIシステムが根本原因に対処せず目先の症状のみを修正していました。その結果、テストには合格するものの、別の実行経路を通じて依然として脆弱性が残るパッチが生まれていました。

もう一つの注目すべき発見は、脆弱な修正が広く見られたことです。 

元の脆弱性を解消できたパッチのうち、約37.5%は根本的な脆弱性を完全に排除するのではなく防御的なチェックに依存していたため、「脆弱」に分類されました。

結論

これらの調査結果を踏まえ、1Passwordは、自動修正ワークフローを導入する前に、各企業が自社のコードベース内でAI支援によるパッチ適用を検証するよう推奨しています。 

研究者らはまた、特に複雑な脆弱性については、経験豊富なセキュリティエンジニアがAI生成パッチのレビューを継続して行うべきだと強調しています。 

さらに、不正確な指示はパッチの品質を低下させる可能性があるため、開発者は確信の持てない修正指示を与えないよう助言しています。

こうした懸念は個々のパッチにとどまらず、侵害されたコードや依存関係、自動化された開発ワークフローからソフトウェアサプライチェーンを守るという、より広範な必要性を改めて浮き彫りにしています。 

翻訳元: https://www.esecurityplanet.com/artificial-intelligence/1password-finds-ai-security-patches-fail-more-than-half-the-time/

ソース: esecurityplanet.com