廃止されたDeFiプロトコル「Aztec Connect」の放棄されたスマートコントラクトが、今週、シャットダウンから3年以上経過した後に200万ドルを搾取された。この事件は、分散型金融における持続的な危険性を浮き彫りにしている。すなわち、いったんコントラクトがブロックチェーン上で稼働すると、それを変更したり停止したりすることはできず、プロジェクトそのものが消滅した後も攻撃者にとって格好の標的となり続けるということだ。
エクスプロイトの仕組み
攻撃者は、Aztec Connectが2024年に運営を停止して以来放置されていたコントラクトから、約200万ドルを引き出した。コントラクトが不変(多くのDeFiプロトコルの主要な特徴)であるため、シャットダウン後に資金をロックしたり機能を無効化したりするための更新を誰も行えなかった。このエクスプロイトは、既知の脆弱性を悪用したか、あるいは元の許可設定によりアクセス可能な資金を単に引き出したものとみられる。
不変のコントラクトがリスクとなる理由
不変性は、ブロックチェーンコードのセキュリティ機能としてしばしば称賛される。展開後にルールを変更できる者は誰もいないからだ。しかし、プロジェクトが閉鎖する場合、同じ特性が負債となる。コントラクトがユーザー資金を保持したり、引き出し権限を付与したり、他のプロトコルと連携したりする場合、それらの機能は永遠にアクティブなままとなる。Aztec Connectの事例はその典型的な例だ。チームは離れたが、コントラクトは動き続け、最終的に攻撃者に見つけられた。
出口戦略の欠如
このエクスプロイトは、多くのDeFiプロジェクトのシャットダウンプランに欠けている部分を浮き彫りにしている。スマートコントラクトをクリーンかつ不可逆的に無効化する設計を行っているプロトコルはほとんどない。一時停止機能、自己破棄オプション(対応している場合)、または移行メカニズムを追加するといった簡単な手順でリスクを軽減できるが、開発時に先見の明が必要となる。Aztec Connectの場合、プロジェクト終了時にそのような保護策は講じられていなかった。
200万ドルの損失は、回収の見込みがほぼない。ブロックチェーンが元のコントラクトロジックを強制するため、取引を取り消したり資金を取り戻したりできる中央当局は存在しない。資金は消え去り、攻撃者は匿名のままである。
DeFiが学ぶべきこと
規制当局やセキュリティ研究者は、放棄されたコントラクトが時限爆弾になると何年も前から警告してきた。Aztec Connectのエクスプロイトは、休眠状態のコントラクトが襲撃された最初の事例ではなく、おそらく最後でもない。問題は、開発者がコントラクトの不変性をプロジェクト終了後にオフにできる機能として扱うのか、それともシャットダウンを単にウェブサイトを閉じることと同様に扱い続けるのか、である。プロトコルが自らの終焉を計画する方法が変わらなければ、同様の損失が今後も発生する可能性が高い。



