Hacker News
LLMが形式的ソフトウェア検証をはるかに大規模で実現可能にしている
AI初登場 429ポイントコメント268件
AIのClaudeが、100を超える実在のオープンソース・ソフトウェアについて、「バグがないこと」を数学的に証明しました。これまで何年もの専門家の作業が必要だった形式検証を、AIが大規模に行えることを示した研究です。
何が起きたのか
AnthropicとTheoremの共同研究で、AIのClaudeが123のオープンソース・ライブラリについて、セキュリティ上の性質を証明しました。対象は機械語に近いアセンブリ・コードのレベルです。証明の途中で、Claudeは何年も見つからなかったバグも見つけました。
主な数字と事実
形式検証とは
形式検証とは、プログラムを数学の式のモデルに変え、「決められたセキュリティのルールを必ず守る」ことを証明する方法です。証明に失敗したら、そこにバグがあるかもしれません。失敗の原因を直すことを繰り返すと、ルール違反のバグがないことを証明できます。ただし、証明はコードの何倍も大きくなることがあり、専門的な技術が必要で、これまでは航空機の制御ソフトなど、特に重要な場面でしか使われてきませんでした。
なぜ重要か
AIがバグを見つけて悪用できるようになったため、従来の防御だけでは不十分になっています。LinuxカーネルのようにAIが攻撃に使いうる重大なソフトでも、今年多くの脆弱性が公開されました。AIが証明を書けるなら、安全を「たぶん大丈夫」ではなく「証明済み」にできる可能性があります。ただし、この研究はすべてのバグを消せたわけではなく、前提条件つきの一歩です。
今後注目したいこと
- 公開された証明を、ほかの人が確認し再利用できるか
- Theoremが同じ仕組みを他のソフトに適用できるか
- AIの能力が上がるにつれ、形式検証が安全な開発の標準になるか
用語解説
- Claude
- AnthropicがつくったAIモデル。この研究では証明を書くために使われました。
- Theorem
- この研究で共同作業をした会社で、同じ仕組みを他のソフトにも適用する申し出をしています。
- 形式検証
- プログラムが決められたルールを必ず守ることを、数学的に証明する方法です。
- RISC-V
- CPUの設計のひとつ(命令の決まり)で、この研究の証明の対象になりました。
- seL4
- 安全性が形式的に証明されたOSカーネルの名前です。
- アセンブリ・コード
- CPUが直接読める命令に近い、とても低いレベルのプログラムの書き方です。