公开版Mythos正式上线:AIスマートコントラクト監査のメリットと限界を解析する
- コア見解:AIはブロックチェーンセキュリティ監査において、ストレージスロットの衝突などの隠れた脆弱性を効率的に発掘する利点を示す一方、クロスプロトコルの組み合わせロジックや複雑なDeFi経済モデルの分析には明らかな限界があり、人間の専門家との連携が必要である。
- 重要な要素:
- AnthropicはClaude Fable 5モデルを公開し、セキュリティ脆弱性発掘分野で目覚ましい成果を上げ、隠れた脆弱性を迅速に発見できることを示した。
- セキュリティ研究者はAIモデルによる分析を通じて、Zcash Orchardプライバシープールに4年間潜伏していたサウンドネスの脆弱性を発見した。この脆弱性により、無制限に偽のZECが鋳造され、ZEC価格が約40%暴落する可能性があった。
- AIはストレージスロット衝突型の脆弱性で優れた性能を発揮する。例えば、ReentrancyGuardとrewardsマッピングのストレージスロットが衝突したあるコントラクトをAIが迅速に特定できる一方、人手による監査では発見が困難だった。
- AIはクロスプロトコルの組み合わせセマンティクス分析に明らかな限界がある。Curve LlamaLend sDOLA事件を例にとると、Fable 5はフラッシュローンを悪用した価格操作と清算という複雑な攻撃経路を特定できなかった。
- 現在の業界トレンドはAIとセキュリティ監査専門家の連携であり、監査の効率を大幅に向上させ、細かなリスクや複雑なビジネスロジックに対するカバレッジを強化することができる。
原文出典:Beosin
6月9日、Anthropic は Mythos 公開バージョン Claude Fable 5 を正式にリリースしました。以前より Mythos はセキュリティ脆弱性の発見において優れた能力を発揮し、システム内部の隠れた脆弱性を迅速に発見できることから、ネットワークセキュリティ分野で大きな注目を集めていました。
そして最近のZcashインシデントは、AIによるブロックチェーン脆弱性発見の典型的な事例です。セキュリティ研究者のTaylor Hornby氏は、Anthropic Claude Opus 4.8モデルを活用し、わずか数時間で、4年間潜み、過去に何度も人手による監査でも発見されなかったOrchardプライバシープールのサウンドネス脆弱性を発見しました。この脆弱性は理論上、検出されない偽のZECを無制限に鋳造できるもので、ZEC価格は直接約40%暴落しました。
現在、AIはコードパターンマッチングやバッチ一次スクリーニングなどにおいて驚異的な効率を示しており、AIをブロックチェーンやスマートコントラクトのセキュリティ監査プロセスに統合することは、Web3セキュリティ業界のトレンドになりつつあります。本稿では、実際の脆弱性事例とFable 5の実測パフォーマンスを組み合わせ、スマートコントラクト監査におけるAIの強みと弱みを分析します。
AI監査の強みとなるシナリオ
ケース分析:ストレージスロットの衝突
あるコントラクトが以下の2つのコンポーネントを同時に使用していました。
1. カスタムの rewards mapping(ユーザーが受け取れる報酬を記録するため)
2. Solady ライブラリの ReentrancyGuard(再入攻撃を防ぐため)
しかし2つのコンポーネントのストレージレイアウトが衝突しました。
Solady の ReentrancyGuard は、極限のガス最適化のために、固定された低番号のストレージスロット(通常、特定の計算により定数に近いスロットとなります)を使用しています。nonReentrant modifier の典型的なロジックは次の通りです。
// 簡略化バージョンmodifier nonReentrant() { // エントリー時に、ガードスロットを0xff...ff(センチネル値)として書き込む assembly { if eq(sload(REENTRANCY_GUARD_SLOT), 2) { revert(...) } // 2はロック状態を表す sstore(REENTRANCY_GUARD_SLOT, 2) // ロック } _; // 関数終了時に回復 assembly { sstore(REENTRANCY_GUARD_SLOT, 1) }}
カスタムの rewards mapping:
mapping(address => uint256) public rewards;
Solidity のストレージレイアウトルール(mapping の最初のスロットはその宣言位置から計算される)により、rewards mapping の最初のスロットが ReentrancyGuard の固定保護スロットと完全に同一になりました。
攻撃の流れ(詳細手順):
1. 攻撃者が getReward() 関数を呼び出す
2. nonReentrant modifier がトリガーされ、ガードスロットに 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff(全て1)が書き込まれる
3. コントラクトコードが次に rewards[攻撃者アドレス] を読み取るが、スロット衝突のため、実際にはガードスロット内の巨大な値 0xff...ff を読み取る
4. コントラクトは「巨額の報酬がある」と判断し、その ETH を攻撃者に転送し、同時に rewards[攻撃者] をゼロにしようとする(しかし同じガードスロットに再度書き込んでしまう)
5. modifier は関数終了時にスロットを回復するため、攻撃者が再び getReward() を呼び出すと、このプロセスが繰り返される
6. 攻撃者はこのループを200回繰り返し、毎回固定額の ETH を抽出し、コントラクト内の引き出し可能な ETH が枯渇するまで続ける
注意すべき点は、これは従来の「再入攻撃」ではなく、ReentrancyGuard 自身の防御メカニズムがストレージ衝突によって逆利用され、無限報酬受領の脆弱性となったことです。人手による監査では、サードパーティライブラリのストレージレイアウトを一行ずつ深く掘り下げることはほとんどありませんが、AI はライブラリバージョンの比較 + ストレージスロットの正確なマッピングを瞬時に行い、このような「隠れた衝突」脆弱性を直接特定できます。
AI監査の弱みとなるシナリオ
Fable 5 は、単一のコントラクト、純粋なコード構文、低レベルストレージ関連の脆弱性検出において優れた性能を発揮しますが、プロトコル横断的な組合せセマンティクスや複数コントラクトの組合せ攻撃に直面すると、明らかな限界があります。我々は最新の公開版 Fable 5 を使用して、Curve LlamaLend sDOLA 攻撃イベント関連コントラクトの再テストを実施し、この問題が確認されました。
今回の監査に関連するコントラクトリスト:crvUSD Controller.vy、sDOLA.sol、ERC4626.sol など一連のコントラクト。Fable 5 は、今回の攻撃に対応するコアリスクを特定できませんでした。


このイベントは典型的なプロトコル横断的な組合せ脆弱性に該当し、個々のコントラクトのコード構文やロジックには問題がありませんでしたが、攻撃者はマルチプロトコルの連携を利用して攻撃チェーンを構築しました。
1. フラッシュローンを利用して Curve の資金プール価格を操作し、sDOLA(ERC-4626 ボールトシェア)の資産価格を悪意を持って引き下げる。
2. sDOLA を担保とする大量の貸付ポジションが清算閾値に達する。
3. 攻撃者は一括で清算操作を実行し、そこから利益を得る。
この種の脆弱性は DeFi のマルチプロトコル組み合わせに依存しており、AI/監査専門家によるビジネス全体やプロトコル経済モデルの総合分析能力が試されます。現在のところ、AI監査はプロトコル横断的な組合せセマンティクスにおいて依然として不十分です。
結論
実際のケーステストから、Fable 5 はストレージスロットの衝突、コードパターンの脆弱性、単一コントラクトのロジック欠陥、バッチコード一次スクリーニングなどの標準化された詳細シナリオにおいて、人手による監査が見逃しがちな隠れた脆弱性を効果的に発見できます。しかし、プロトコル横断的な組合せセマンティクス、DeFi 経済モデル、複数コントラクト連動攻撃、複雑なビジネスロジックの脆弱性を処理する際には、オンチェーンエコシステムのビジネス本質を理解し、組合せ攻撃パスを発見することが難しく、この部分は引き続き専門のセキュリティ監査担当者による主導的分析が必要です。
日常の監査業務において、Beosin は既に成熟した AI + セキュリティ監査専門家の協調監査プロセスを構築しており、監査効率を大幅に向上させるだけでなく、潜在的な詳細リスクや複雑なビジネスロジックの脆弱性をより良く発見し、監査業務をより効率的、包括的、かつ深いものにしています。


