EXPLORINEER
ja

Hacker News

LLMが形式的ソフトウェア検証をはるかに大規模で実現可能にしている

AI初登場 429ポイントコメント268件


AIのClaudeが、100を超える実在のオープンソース・ソフトウェアについて、「バグがないこと」を数学的に証明しました。これまで何年もの専門家の作業が必要だった形式検証を、AIが大規模に行えることを示した研究です。

何が起きたのか

AnthropicとTheoremの共同研究で、AIのClaudeが123のオープンソース・ライブラリについて、セキュリティ上の性質を証明しました。対象は機械語に近いアセンブリ・コードのレベルです。証明の途中で、Claudeは何年も見つからなかったバグも見つけました。

主な数字と事実

  • 対象は123のオープンソース・ライブラリ
  • 入力は64MB未満のすべてのもの
  • 証明の条件は、単一スレッド、固定メモリ量、RISC-Vチップ、Linux OSという前提
  • seL4というOSカーネルでは、実装に2人年、形式検証に20人年かかった

形式検証とは

形式検証とは、プログラムを数学の式のモデルに変え、「決められたセキュリティのルールを必ず守る」ことを証明する方法です。証明に失敗したら、そこにバグがあるかもしれません。失敗の原因を直すことを繰り返すと、ルール違反のバグがないことを証明できます。ただし、証明はコードの何倍も大きくなることがあり、専門的な技術が必要で、これまでは航空機の制御ソフトなど、特に重要な場面でしか使われてきませんでした。

なぜ重要か

AIがバグを見つけて悪用できるようになったため、従来の防御だけでは不十分になっています。LinuxカーネルのようにAIが攻撃に使いうる重大なソフトでも、今年多くの脆弱性が公開されました。AIが証明を書けるなら、安全を「たぶん大丈夫」ではなく「証明済み」にできる可能性があります。ただし、この研究はすべてのバグを消せたわけではなく、前提条件つきの一歩です。

今後注目したいこと

  • 公開された証明を、ほかの人が確認し再利用できるか
  • Theoremが同じ仕組みを他のソフトに適用できるか
  • AIの能力が上がるにつれ、形式検証が安全な開発の標準になるか

用語解説

Claude
AnthropicがつくったAIモデル。この研究では証明を書くために使われました。
Theorem
この研究で共同作業をした会社で、同じ仕組みを他のソフトにも適用する申し出をしています。
形式検証
プログラムが決められたルールを必ず守ることを、数学的に証明する方法です。
RISC-V
CPUの設計のひとつ(命令の決まり)で、この研究の証明の対象になりました。
seL4
安全性が形式的に証明されたOSカーネルの名前です。
アセンブリ・コード
CPUが直接読める命令に近い、とても低いレベルのプログラムの書き方です。

出典: Hacker Newsで原文を読む ↗

この記事は原文をもとにAIがやさしい言葉で書き直した解説です。事実関係は原文をご確認ください。