← 最新の論文
🤖 AI

Locus: Agentic Predicate Synthesis for Directed Fuzzing

Locusは、意味的に有意義な中間述語を合成することで、ターゲット状態への指向型ファジングを誘導し、最先端のファザーの効率を大幅に向上させるとともに、未修正の実世界の脆弱性を発見することに成功した、新しいエージェンティック・フレームワークである。

原著者: Jie Zhu, Chihao Shen, Ziyang Li, Jiahao Yu, Yizheng Chen, Kexin Pei

公開日 2026-07-23
📖 1 分で読めます☕ さくっと読める

原著者: Jie Zhu, Chihao Shen, Ziyang Li, Jiahao Yu, Yizheng Chen, Kexin Pei

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたは、巨大で変化し続ける迷路の奥深くに埋められた、特定の隠された宝箱を探そうとしているところだと想像してください。これは単なる迷路ではありません。コンピュータのコードで作られたデジタルな迷路であり、「宝物」とは、ハッカーがシステムに侵入できてしまうような秘密の欠陥、すなわち「バグ」です。この「ファジング(fuzzing)」の世界を考えてみましょう。「ファジング」とは、ターゲットに対して何百万回ものランダムなダーツを投げ、弱点に当たるかどうかを見ることを指します。通常、あなたはただ盲目的にダーツを投げ、何かが面白い結果になることを期待するだけです。しかし、「ディレクテッド・ファジング(directed fuzzing)」はよりスマートです。あなたは宝箱(バグ)がどこにあるべきかを正確に知っており、そこへ真っ直先に導くようなダーツを投げたいと考えているのです。

問題は、迷路が巨大であり、宝物への道が複雑で目に見えない一連の扉によって塞がれていることが多いことです。これらを通り抜けるには、正しい鍵を持ち、正しい帽子をかぶり、正しい床の上に立つといった、一連の複雑な条件を満たす必要があります。もし、あなたが投じたダーツがこれら微細な要件のどれか一つでも外してしまうと、行き止まりに突き当たってしまいます。従来の方法では、ステップ数における「近さ」を測定することで、どちらの方向に行けばよいかを推測しようとしますが、これは、道路を塞いでいる壁があるかどうかを知らずに、方位磁石が「北」を指していることだけで街をナビゲートしようとするようなものです。それはあまりにも漠然としており、役に立ちません。

そこで、シカゴ大学、メリーランド大学、ジョンズ・ホプキンス大学、およびノースウェスタン大学の研究者によって開発された新しいツール「Locus」が登場します。Locusは、単にどちらに近いかを推測するのではなく、迷路の地図を読み取り、役立つ一連の手がかりを書き留める、非常にスマートで疲れを知らない探偵のように振る舞います。それは、宝物に近づくために、どのような意味のあるステップを必ず踏まなければならないかを解明し、混乱した迷路を明確なチェックリストへと変えてしまうのです。

Locusの仕組みは以下の通りです。それは、特殊な人工知能(「エージェント」)を使用してコンピュータコードを読み取り、バグに到達するために必要な秘密のルールを解明します。コードをケーキのレシピだと想像してください。バグは、小麦粉を入れる前に砂糖を入れた場合にのみ発生します。従来のツールは、「ボウルに近づいています!」と言うだけかもしれません。しかし、Locusはこう言います。「止まって!まだ小麦粉を入れていません。今小麦粉を入れなければ、ケーキが爆発する場面には決して到達できません」。Locusはこれらのルールを「述語(predicate)」として書き留めます。これは、コンピュータがテスト中に実行できる単純なチェックです。もしテスト入力がそのチェックに失敗した場合(例:「小麦粉が追加されていない!」)、コンピュータは即座にその経路での時間の浪用を止め、別の方法を試します。

研究者たちは、Locusに巧妙なセーフティネットを組み込みました。AIが思考を行っているため、誤った提案をする可能性があります。例えば、宝箱を偶然ブロックしてしまうようなルールを提案してしまうかもしれません。これを防ぐために、LocusにはAIが作成したすべてのルールを再確認する「バリデーター(検証器)」が備わっています。それは「記号実行(symbolic execution)」と呼ばれる数学的手法を用いて、新しいルールがバグへの有効な経路を誤って切り捨てることがないことを証明します。これは、探偵が書いたすべての文章が真実であることを確認してから、最終的な物語に組み込む、厳格な編集者のようです。

チームがLocusをテストした際、その結果は目覚ましいものでした。彼らはLocusを8つの既存の「ダーツ投げ」ツール(ファザー)に組み込み、それらが実世界のソフトウェア内でバグを探索する様子を観察しました。平均して、Locusはこれらのツールがバグを見つける速度を41.6倍に向上させました。場合によってはさらに劇的で、あるツールはLocusを使用することで、使用しない場合よりも214.2倍も速くバグを発見しました。これ以前は、一部のツールが丸一日走っても何も見つけられないこともありましたが、Locusがあれば、同じバグをわずかな時間で見つけることができました。

チームは単にテストを行っただけでなく、Locusを使用して、画像ライブラリやアーカイブツールのような人気のあるソフトウェアに含まれる、未修正の実際のバグを狩りました。彼らは9つの未知のバグを特定することに成功しました。そのうちの3つは、すでにソフトウェアメーカーによって認められており、修正作業が進められています。このことは、Locusが単なる理論的なアイデアではなく、悪意のある攻撃者が先手を打つ前に隠れた罠を見つけることで、ソフトウェアをより安全に保つことができる実用的なツールであることを示唆しています。

要するに、Locusは「盲目的にダーツを投げ、期待する」というゲームを、「GPSとチェックリストを持ってダーツを投げる」というゲームへと変えるのです。それはAIを使用してコンピュータプログラムの深い論理を理解し、探索を導くための役立つ標識を作成し、探索を迷わせることがないよう、自らの仕事をダブルチェックします。そうすることで、ほぼ不可能なデジタルな宝探しを、はるかに効率的で成功確率の高い冒険へと変貌させるのです。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →