← 最新の論文
🤖 AI

Prompt to Pwn: Automated Exploit Generation for Smart Contracts

本論文は、LLM と Foundry ステックを連携させた実行ベースのフレームワーク「ReX」を提案し、スマートコントラクトの自動エクスプロイト生成における現状の能力限界と課題を明らかにした研究です。

原著者: ZeKe Xiao, Qin Wang, Yuekang Li, Shiping Chen

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

原著者: ZeKe Xiao, Qin Wang, Yuekang Li, Shiping Chen

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

この論文は、**「AI(大規模言語モデル)が、スマートコントラクト(ブロックチェーン上の自動プログラム)の『ハッキング手法』を自分で見つけて、実際に攻撃できるコードを作れるのか?」**という問いに答えようとした研究です。

タイトルは『Prompt to Pwn(プロンプトでハッキングを)』。つまり、「AI に指示を出すだけで、攻撃ツールが自動生成されるのか?」を調査したものです。

以下に、専門用語を排し、身近な例え話を使って分かりやすく解説します。


1. 背景:なぜこれが重要なのか?

スマートコントラクトは、一度ブロックチェーン上に設置すると**「修正不能な自動契約」**のようなものです。銀行の金庫が、一度設置したら鍵を直すことも、中身を確認することもできない状態だと想像してください。そこに小さな隙間(バグ)があれば、ハッカーはそれを突いて巨額の資産を盗み続けることができます。

これまで、セキュリティ研究者は「バグを見つけるツール」を作ってきましたが、**「バグを突いて実際に盗む(攻撃する)コードを自動で作る」**という研究はあまり進んでいませんでした。

この論文は、**「最新の AI は、ハッカーの代わりに『攻撃マニュアル』と『実行ツール』を自分で作れるのか?」**をテストしました。

2. 研究の仕組み:「ReX」というロボット

研究者たちは、**「ReX(レックス)」**という新しいシステムを開発しました。これは AI とテスト環境をつなぐ「仲介役」です。

  • 役割: AI に「このプログラムには隙があるよ」と教えて、攻撃用のコードを書いてもらいます。
  • プロセス:
    1. AI が攻撃コードを書く。
    2. コンピュータで実際に実行して「本当に攻撃できるか」テストする。
    3. もし失敗したら、エラーメッセージを AI に返して「直して!」と頼む。
    4. 成功するまでこれを繰り返す。

まるで、「AI という新人ハッカー」に「テスト用の砂場(Foundry)」で練習させ、失敗したらコーチがアドバイスして、最終的に本番レベルの攻撃ができるまで鍛え上げるようなイメージです。

3. 実験結果:AI はどれくらいすごいのか?

研究者は、最新の AI 5 社(GPT-4.1, Gemini 2.5 Pro など)をテストし、8 種類の有名なバグに対して攻撃コードを作らせました。

✅ 成功した点(得意なこと)

  • 単純なバグなら得意: 「計算ミス(オーバーフロー)」や「パスワードのチェック漏れ」など、1 つの契約内だけで完結する単純なバグなら、AI は高い確率で「攻撃成功」のコードを作れました。
  • Gemini 2.5 Pro が一番強い: 今回テストされた AI の中では、Google の「Gemini 2.5 Pro」が最も優秀で、多くのバグを突破しました。

❌ 失敗した点(苦手なこと)

  • 複雑な連携は苦手: 「A という契約と B という契約を連携させて、その隙間を突く」といった複数の契約が絡む複雑な攻撃は、AI には難しかったです。
  • 人間のハッカーには及ばない: 人間の専門家(ハッカー)は、攻撃して得たお金の使い道まで考えて攻撃計画を立てますが、AI は「バグを突くこと」まではできても、「どうやって利益最大化するか」という経済的な戦略までは考えられませんでした。

4. なぜ AI は失敗するのか?(要因分析)

「コードが長くて複雑だから AI が失敗するの?」と予想するかもしれませんが、実はそうではありませんでした。

  • コードの複雑さより「AI の頭脳」: 契約のコードがどれだけ複雑でも、AI の能力(論理的思考力)の方が結果を左右しました。
  • 指示の出し方(プロンプト)はあまり効かない: 「もっと詳しく指示して」と言っても、AI の根本的な理解力が足りなければ、攻撃コードは作れません。
  • 失敗のパターン: AI は「アドレスの書き間違い」や「型変換のミス」など、文法や意味の細かい部分でつまずくことが多かったです。

5. 私たちはどう守ればいい?(防御策)

AI がハッキングツールを作れるなら、どうすれば防げるのでしょうか?論文では、「AI 特有の弱点」を突いた新しい防御策を提案しています。

  1. 部品をバラバラにする(モジュール化):
    • 従来のハッカーは「全体像」を見て攻撃しますが、AI は「1 つの部品」しか見られないことが多いです。契約を細かく分けて、AI が全体像を把握しにくくします。
  2. 意図的に「罠」を仕込む(デコイ):
    • 「ここがバグに見えるけど実は違う」という見せかけのバグをコードに混ぜ込みます。AI はパターン認識が得意なので、この罠に引っかかって時間を浪費させます。
  3. 特殊な言葉を使う:
    • AI があまり学習していない「特殊なプログラミング言語の書き方」を使うと、AI は意味を理解できず、攻撃コードを作れなくなります。

重要なのは: これらは「バグを直す」ことではなく、**「AI がバグを見つけるのを難しくする(コストを上げる)」**ための対策です。根本的なバグは直さなければなりません。

6. まとめ:何が分かったのか?

  • AI は「単独のバグ」を突くハッカーにはなりうる: 特定の脆弱性を見つけ、攻撃コードを自動生成する能力はすでに存在します。
  • しかし「天才ハッカー」にはまだならない: 複雑な連携や、経済的な戦略まで含めた高度な攻撃は、まだ人間の方が圧倒的に得意です。
  • 防御の新しい視点: これからは「AI がコードを読めないようにする」という、AI 専用の防御技術も重要になってきます。

一言で言うと:
「AI は、『単純な鍵穴』を見つけるプロになりましたが、『複雑な迷路』を解く探偵にはまだなれていません。でも、AI がハッキングツールを自動で作れるようになった以上、私たちは『AI が読めないような複雑な迷路』を作る準備を始める必要があります」という研究です。

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

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

Digest を試す →