Google DeepMindは、ソフトウェアの脆弱性の根本原因を特定し、コードを修正するAIエージェント「CodeMender」を公式ブログで紹介した。全てのソフトウェア開発者がコードベースをセキュアに保つために使用できるツールとして公開を目指すという。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Google DeepMindは2025年10月7日(米国時間)、ソフトウェアの脆弱(ぜいじゃく)性の根本原因を特定、修正するAI(人工知能)エージェント「CodeMender」について、公式ブログで紹介した。
ソフトウェアの脆弱性の発見と修正は、ファジングツールを用いても開発者にとっては非常に困難で時間がかかる作業だ。こうした背景の下、GoogleはAIベースの取り組みとして「OSS-Fuzz」や「Big Sleep」を開発し、十分にテストされたソフトウェアにおいても、AIが新たなゼロデイ脆弱性を発見できることを実証してきた(OSS-Fuzzの参考記事、Big Sleepの参考記事)。
だが、AIがゼロデイ脆弱性を発見する頻度が高まれば、人間の専門家だけで脆弱性に対応することはより困難となる。
Google DeepMindはこの問題を包括的に解決する取り組みとして、CodeMenderを開発した。開発を開始してから6カ月間で、72件のオープンソースプロジェクトでのセキュリティ修正に貢献したという。
CodeMenderは、GoogleのLLM(大規模言語モデル)であるGeminiに搭載された高度な推論機能「Deep Think」を活用し、複雑な脆弱性の根本原因の特定、デバッグ、修正に取り組むことができる。
CodeMenderには、変更を加える前にコードについて推論し、変更の正確性やリグレッション(先祖返り)が起きないことを自動的に検証する仕組みとして、下記のような手法やシステムが取り入れられているという。
自動検証プロセスを通じて、問題の根本原因を修正していること、正確な変更が行われていること、リグレッションを引き起こさないこと、スタイルガイドに準拠していることを保証し、修正が必要であればCodeMenderはフィードバックに応じてパッチを自己修正する。この仕組みにより、高品質なパッチのみを提供できるという。
またCodeMenderは、より安全なデータ構造やAPIを使用するよう、既存のコードをプロアクティブに書き換えるよう設計されている。
画像圧縮ライブラリ「libwebp」にCodeMenderを適用した事例では、コンパイラの-fbounds-safetyアノテーションを一部の箇所に付与したことで、将来発見される可能性のあるほとんどのバッファーオーバーフロー脆弱性の影響を未然に防ぐことに成功したという。
Google DeepMindは「CodeMenderが生成したパッチをより多くのオープンソースプロジェクトのメンテナーに提供する計画だ。フィードバックプロセスを繰り返すことで、全てのソフトウェア開発者がコードベースをセキュアに保つために使用できるツールとして公開することを目指している」と、述べている。
アプリケーションやサービスのコードに潜む脆弱性がひとたび悪用されると、ビジネス停止、企業の信頼失墜といったリスクに直結する今、開発段階からセキュリティに取り組む重要性は高まり続けている。だが、開発者やセキュリティ担当者にとって、脆弱性の発見や修正は容易ではない。
CodeMenderの取り組みは、脆弱性の「発見」「原因特定」「修正」「検証」までを自動化するという点で、開発だけではなく保守の観点でもAIエージェントが生かせることを示す事例の一つといえるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.