古いAztec Connectのコントラクトが、馴染みのあるDeFiリスクを再び注目の的にしている:製品がアクティブでなくなっても、放棄されたインフラは危険であり続ける。
あるセキュリティ研究者の投稿によって、Aztec Connectに影響する可能性のあるエクスプロイトが明るみに出た。不変性を持つスマートコントラクトから約210万ドルが移転されたと報告されている。最初の情報源は完全なポストモーテムではなく研究者による開示であるため、詳細は慎重に扱う必要がある。しかし、大局的な問題はすでに明らかだ:古いDeFiコントラクトは、多くのユーザーが関心を失った後も長期間にわたって稼働し、資金を保有し、攻撃対象となり得る。
通常のソフトウェアでは、非推奨になった製品は徐々に消えていく。ユーザーはダウンロードをやめ、企業はサポートをやめ、最終的には背景に消えていく。
DeFiはそのようには機能しない。スマートコントラクトはオンチェーンに無期限で存在し続ける。資金を保有しているか、資金へのルートがあれば、依然として標的にされる可能性がある。フロントエンドが消えても、チームが移転しても、ドキュメントがユーザーに引き出しを促しても、コントラクト自体を狙う攻撃者には関係ない。
Aztec Connectのケースが特に厄介なのは、そのコントラクトが不変性を持つと説明されていたからだ。DeFiでは、不変性はしばしば機能として扱われる。チームが後でルールを変更しないことをユーザーが信頼する必要がないことを意味する。
しかし、不変性は緊急時の選択肢も奪う。
稼働中のコントラクトに問題が発生し、管理者権限が残っていない場合、チームはそれを一時停止、アップグレード、またはパッチ適用できないかもしれない。その場合、資金がすでに引き出されているかどうか、残存する価値が他の手段で保護できるかどうかにユーザーが依存することになりかねない。
これはDeFiが今も取り組んでいるトレードオフだ。アップグレード可能性は信頼とガバナンスのリスクを生む。不変性は対応リスクを生む。
ここでの教訓は単に「古いコントラクトは悪い」ということではない。教訓は、シャットダウンをセキュリティイベントとして扱う必要があるということだ。
責任ある段階的終了には、繰り返しのユーザー警告、可能な限りの出金期限、シャットダウン後のモニタリング、明確なドキュメント、そして公開リスクコミュニケーションが含まれるべきだ。古いコントラクトに相当な資金が残っている場合、チームは攻撃者がまだ監視していると仮定する必要がある。
これは特に、プライバシー、ブリッジ、ロールアップ、クロスチェーンシステムに当てはまる。これらはコントラクトロジックがより複雑で、一般ユーザーには障害モードが分かりにくい場合が多い。
ユーザーにとって、ルールはシンプルだ:明確な理由がない限り、非推奨のコントラクトに資金を放置しないこと。
プロトコルがユーザーに引き出しを促す場合は、それを真剣に受け止めること。フロントエンドがシャットダウンしても、リスクが終わったと思わないこと。コントラクトが古く、現在の状態で監査されておらず、または監視されていない場合、敵対的なインフラとして扱う方が安全かもしれない。
Aztec Connectのインシデントは、DeFiリスクには長いテールがあることを改めて示している。製品が市場の話題から消えても、コントラクトはオンチェーンに残り続け、誰かが次の弱点を見つけるのを待っている。
