Lovable、自身に対してAIハッキングエージェントの群れを実行
Lovableは、Capture the Flag方式でAIエージェント群を自社システムに投入し、検証可能な脆弱性を発見する内部セキュリティプログラムを構築した。攻撃面を最大化し攻撃距離を最小化することで効率を高めるが、人間のセキュリティ研究者を置き換えるものではない。
Lovableは、自社のコアプラットフォームとプロダクトサービスにおいて、AIエージェントの群れを常に自身に対して攻撃させている。これらのエージェントは人間の攻撃者のようにシステムへのすべての入口を調査し、検証可能な脆弱性を見つけるまで止まらない。このアプローチは非常に効果的であり、AIネイティブのベンダーでさえ埋められなかったギャップを埋めた。
このプログラムの真価は、セキュリティチームが本当に重要なバグに集中できる点にある。アプリケーションセキュリティチームは重要な問題に専念でき、攻撃的セキュリティ研究者はエージェントがすでに足掛かりを見つけているため、より迅速に行動できる。
本稿では、検証可能な結果に基づいた内部攻撃的セキュリティプログラムの構築方法と、ノイズではなく実際の脆弱性を発見するためのエージェント群のオーケストレーション方法について説明する。重要なのは、これがハッカーを置き換えるものではないということだ。エージェントにはまだ人間による調整と理解が必要であり、人間の攻撃的研究者には依然として多くの仕事がある。
仕組みは次のとおりだ。Lovableはエージェントの言葉をそのまま信じることはしない。エージェントは、本来アクセスできないはずのシステムから「フラグ」と呼ばれる特別な文字列を取得することで、その成果を証明しなければならない。フラグは絶対的な真実であり、キャプチャはモデルの推測ではなく、実際の脆弱性の決定的な証拠となる。これが、ほとんどのスキャナーが生成するものとの違いだ。
このアイデアはCapture the Flag(CTF)競技に由来するが、Lovableはまったく異なる規模で実行している。通常のCTFでは、意図的に脆弱性を仕込んだ1つのサービスが存在する。Lovableの場合は逆で、インフラ全体と最も特権的なプロダクト表面にフラグを散りばめ、意図的な脆弱性はどこにも仕込まない。エージェントがフラグを取得した場合、それは実際の侵入経路を発見したことを意味する。
検証可能な目標があるからこそ、システム全体が機能する。エージェントは実際に侵入してレポートを提出するまで実行を続けられる。この制約がなければ、セキュリティエージェントはすぐに諦め、低重要度のゴミを大量に残し、難しいバグには手を付けない。
攻撃シナリオを構築する際の黄金律は、攻撃面を最大化し、攻撃距離を最小化することだ。エージェントの仕事をできるだけ簡単にすることが重要であり、難しい攻撃経路は簡単な経路のサブセットに過ぎない。例えば、エージェントを共同作業者として合成プロジェクトに招待し、同じワークスペース内の別の被害者プロジェクトにアクセスさせることで攻撃距離を最小化する。
攻撃面を最大化するため、エージェントにはすべてのプロダクト表面へのアクセスが与えられる。通常はLLMの仕組みに遮られてアクセスしにくいLovableのコーディングエージェントの背後にあるツールも、専用APIを通じて公開される。これにより、エージェント群は通常は到達困難な場所にプログラムからアクセスできる。
ただし、表面を広げるにはコストが伴う。表面が広がれば、エージェントが迷子にならないように注意深く派遣する必要がある。異なる環境には異なるターゲティングと優先順位付けが必要だ。エージェントは攻撃ベクトルを自律的に考え出す能力があるが、人間の知識と組み合わせることで、実行可能な脆弱性を見つける確率が上がる。どこに注目しないかを知ることも同様に重要であり、信頼できる境界の監査にトークンを浪費しないようにする。
コスト効率のためには、バグの種類に応じて、安価なモデルと数百のサブエージェントを使用し、特定の行動のみをスキャンして有望なベクトルにのみ攻撃を試みる方が効率的な場合がある。
さらに、エージェントに脆弱性が存在するかどうかを確認するよう依頼してはいけない。「確認」と指示すると、エージェントは無害な通過を成功とみなして停止してしまう。代わりに、脆弱性は実在すると伝え、その唯一の仕事はそれを見つけることだと指示することで、エージェントは諦めることができずに探し続ける。
もちろん、ハッキングエージェント群の実行はセキュリティエンジニアリングを置き換えるものではない。Lovableはプロダクト内部および下位層で、認証、認可などの優れたセキュリティ基盤の構築にリソースを投入し続けている。また、人間の攻撃的研究を置き換えるものでもない。エージェントは有能だが、有用でコスト効率が高いためには依然として人間のサポートが必要だ。
このアプローチはまったく新しいものではないが、AI SASTやエージェントペネトレーションテストサービスのように商品化するのが難しいため、広く使われてはいない。現時点では、このようなプログラムは内部で、システムの信頼境界とアーキテクチャを深く理解する人々によって構築される必要がある。ハッキングは常に芸術であり、エージェントによるハッキングも同様だ。ルールはなく、センスが問われる。