Googleがコードの脆弱性をAIで見つけ出す「Big Sleep」で未知のバグを発見したと報告
Googleが、オープンソースのデータベース「SQLite」に存在した実際に悪用可能なバグをAIで発見したと報告しました。当該バグは開発者に報告され修正済みとのことです。
Project Zero: From Naptime to Big Sleep: Using Large Language Models To Catch Vulnerabilities In Real-World Code
Google's 'Big Sleep' AI Project Uncovers Real Software Vulnerabilities | PCMag
https://www.pcmag.com/news/googles-big-sleep-ai-project-uncovers-real-software-vulnerabilities
From Naptime to Big Sleep: Using Large Language Models To Catch Vulnerabilities In Real-World Code
https://simonwillison.net/2024/Nov/1/from-naptime-to-big-sleep/
GoogleはAIでコードの脆弱(ぜいじゃく)性を見つけ出す「Big Sleep」の構築を進めていて、人間のセキュリティ研究者がコードを精査するワークフローを模倣したシステムを作り上げ、セキュリティに問題がある可能性のあるバグを発見しようと試みています。
Googleによると、プロジェクトの過程でGemini 1.5 Proをベースにしたシステムを構築しており、このシステムでSQLiteのコードベースに新しく加えられた変更を確認させたところ、これまで発見されていなかったバグを発見したとのこと。
その後、GoogleはSQLiteの開発者に脆弱性を報告し、開発者側は修正プログラムをリリースすることで対応したといいます。
一連の発見から、Googleは「我々のAIは、現実世界のソフトウェアの脆弱性を独自に発見できるほど賢い」と伝えました。
Googleの研究者は「我々は、以前に報告された脆弱性の亜種をチェックするため、バグを誘発しSQLiteをクラッシュさせることで調査を続けました。大規模言語モデルはパターンマッチングが得意で、過去の脆弱性を示すパターンを入力することで、新たな脆弱性の可能性を特定することができるのです。この発見のカギは、大規模言語モデルは以前に報告された脆弱性の新しい亜種をチェックするのに適しているということです」と述べています。
加えて、研究者は「これは、広く使用されている実世界のソフトウェアにおいて、AIが悪用可能な未知の問題を発見した最初の例だと考えています。以前に発見されパッチが適用された脆弱性の亜種への攻撃が野放しで増え続けている中、最終的に立場を逆転させ、防御側にとって優位性をもたらすための有望な発見だと考えています」と話しました。
AIがソフトウェアの欠陥を発見したのは今回が初めてではなく、例えば2024年8月には「Atlantis」と呼ばれる大規模言語モデルがSQLiteの別のバグを発見しています。
それでもGoogleは、「独自のAIプログラムによる今回の成果は、ソフトウェアがリリースされる前に大規模な言語モデルによって複雑なバグを発見することが可能であることを示しています」と伝え、将来的には問題の処理と修正がより安価で効果的になる可能性があるとの展望を示しています。
なお、Project Big Sleepはかつて「Project Naptime(プロジェクト・昼寝タイム)」と呼ばれていたそうです。これには、AIがGoogleの研究者に昼寝の時間をもたらしてくれるほど優秀になることを期待するという半分ジョークのような意味が込められているそうです。