# 致命残留:瞬態ストレージが引き起こす30万ドルのオンチェーンハッキング2025年3月30日、一つの価値30万ドルを超えるオンチェーン強盗事件がEthereumネットワークで発生しました。セキュリティ監視システムによると、レバレッジ取引プロジェクトSIR.tradingが攻撃を受け、重大な損失を被りました。セキュリティチームはこの事件を徹底的に分析し、調査結果を以下の通り発表します。! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-3e4b0d4747de5f167298db78f28251e2)## イベントの背景Solidity 0.8.24バージョンは2024年1月に瞬态存储(transient storage)機能を導入しました。これは、開発者に低コストで、取引期間中に有効な一時的なストレージ方法を提供するために設計された新しいデータストレージ位置です。瞬态存储はTSTOREおよびTLOADの2つの新しいEVM命令によって実現されており、低gasコスト、取引内の永続性、自動クリアなどの特徴があります。! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-17317f8c1ab5c8cafd379315695be34c)## 攻撃の理由この事件の根本的な原因は、関数内でtstoreを使用して瞬時に保存された値が関数の呼び出し終了後にクリアされなかったことにあります。攻撃者はこの特性を利用して、特定の悪意のあるアドレスを構築し、権限チェックを回避して、トークンを無事に転送しました。! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-fde2d0d89b221f239b5ad5d0fd586d42)## 攻撃プロセス1. 攻撃者は2つの悪意のあるトークンAとBを作成し、あるDEX上でこれらのトークンのプールを作成して流動性を注入します。このうち、トークンAは攻撃契約です。2. 攻撃者は、Vaultコントラクトのinitialize関数を呼び出し、Aトークンを担保トークンとして、Bトークンを債務トークンとしてレバレッジ取引市場APE-21を作成します。3. 攻撃者はVaultコントラクトのmint関数を呼び出し、債務トークンBを預けてレバレッジトークンAPEを発行します。この過程で、DEXプールアドレスと発行数量が順次一時ストレージに保存されます。4. 攻撃者は、以前の一時的ストレージに保存されたミント数量と同じアドレスを持つ悪意のあるコントラクトを作成します。5. 攻撃者はこの悪意のあるコントラクトを通じてVaultコントラクトのuniswapV3SwapCallback関数を直接呼び出してトークンを引き出します。瞬時ストレージ内の値がクリアされていないため、身元確認が誤って通過しました。6. 最後に、攻撃者はコントラクト(Aトークン)を攻撃してVaultコントラクトのuniswapV3SwapCallback関数を呼び出し、他のトークン(WBTC、WETH)をVaultコントラクトから転送して利益を得ます。! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-30320e0697136205e69772f53122d5be)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-e977f8452ae48dea208426db15adab36)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-0ef4c8b460905daddd99060876917199)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-193da5915e9140a4cf26cc1a04c39260)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-c12acde84f6df58e57eb10d68c487d6b)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-653adef89663df141d377b583f5566bfc)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-2b2f646b8ee78e58f3df2076ed62be99)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-b342e46fb86369b5bd082591bbe741fa)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-e7fed078646f6800505eb85ae09e65bf)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-7317876b8e2a3a592abcaf1e21b62f46)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-8197999b1965f36c7584c2aba320257b)! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-636a5fb9c992ef97cbe75e22fac0d331)## マネーフロー分析オンチェーン分析ツールのデータによると、攻撃者は約30万ドルの資産を盗み、17,814.8626 USDC、1.4085 WBTC、119.871 WETHを含んでいます。その後、攻撃者はこれらの資産を交換し、転送しました:- WBTCは63.5596 WETHに交換されました- USDCは9.7122 WETHに交換されました- 合計193.1428 WETHがある匿名ネットワークに転送されました注目すべきは、攻撃者の初期資金がある匿名ネットワークから送金された0.3 ETHに由来していることです。! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/social/moments-904133c007422770dd55372438c3d2570192837465674839201! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗])https://img-cdn.gateio.im/social/moments-c2206fe20197a3835ddb92319314e4eb(## まとめと提案今回の攻撃は、トランザクション全体の間に変わらない瞬時のストレージの特性を利用し、コールバック関数の権限検証をうまく回避しました。同様の事件を防ぐために、プロジェクト側に提案します:1. ビジネスロジックに基づいて、関数呼び出しが終了した後にすぐにtstore)key, 0(を使用して一時ストレージ内の値をクリアします。2. コントラクトコードの監査とセキュリティテストを強化し、特に新機能の使用リスクに注意を払う。3. 複数の検証メカニズムを実施し、単一の身分確認に依存しない。4. 定期的にセキュリティ評価を実施し、潜在的な脆弱性を迅速に発見し修正する。この事件は、私たちに新しい技術を採用する際には慎重に行動し、その安全性への影響を全面的に評価することが必須であることを再度思い出させます。また、継続的なセキュリティ監査とリスク管理はユーザー資産を保護するために極めて重要です。
瞬時ストレージの脆弱性により、信用取引プロジェクトが30万ドルのオンチェーン盗難に遭った
致命残留:瞬態ストレージが引き起こす30万ドルのオンチェーンハッキング
2025年3月30日、一つの価値30万ドルを超えるオンチェーン強盗事件がEthereumネットワークで発生しました。セキュリティ監視システムによると、レバレッジ取引プロジェクトSIR.tradingが攻撃を受け、重大な損失を被りました。セキュリティチームはこの事件を徹底的に分析し、調査結果を以下の通り発表します。
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
イベントの背景
Solidity 0.8.24バージョンは2024年1月に瞬态存储(transient storage)機能を導入しました。これは、開発者に低コストで、取引期間中に有効な一時的なストレージ方法を提供するために設計された新しいデータストレージ位置です。瞬态存储はTSTOREおよびTLOADの2つの新しいEVM命令によって実現されており、低gasコスト、取引内の永続性、自動クリアなどの特徴があります。
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
攻撃の理由
この事件の根本的な原因は、関数内でtstoreを使用して瞬時に保存された値が関数の呼び出し終了後にクリアされなかったことにあります。攻撃者はこの特性を利用して、特定の悪意のあるアドレスを構築し、権限チェックを回避して、トークンを無事に転送しました。
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
攻撃プロセス
攻撃者は2つの悪意のあるトークンAとBを作成し、あるDEX上でこれらのトークンのプールを作成して流動性を注入します。このうち、トークンAは攻撃契約です。
攻撃者は、Vaultコントラクトのinitialize関数を呼び出し、Aトークンを担保トークンとして、Bトークンを債務トークンとしてレバレッジ取引市場APE-21を作成します。
攻撃者はVaultコントラクトのmint関数を呼び出し、債務トークンBを預けてレバレッジトークンAPEを発行します。この過程で、DEXプールアドレスと発行数量が順次一時ストレージに保存されます。
攻撃者は、以前の一時的ストレージに保存されたミント数量と同じアドレスを持つ悪意のあるコントラクトを作成します。
攻撃者はこの悪意のあるコントラクトを通じてVaultコントラクトのuniswapV3SwapCallback関数を直接呼び出してトークンを引き出します。瞬時ストレージ内の値がクリアされていないため、身元確認が誤って通過しました。
最後に、攻撃者はコントラクト(Aトークン)を攻撃してVaultコントラクトのuniswapV3SwapCallback関数を呼び出し、他のトークン(WBTC、WETH)をVaultコントラクトから転送して利益を得ます。
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
! 致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗
マネーフロー分析
オンチェーン分析ツールのデータによると、攻撃者は約30万ドルの資産を盗み、17,814.8626 USDC、1.4085 WBTC、119.871 WETHを含んでいます。その後、攻撃者はこれらの資産を交換し、転送しました:
注目すべきは、攻撃者の初期資金がある匿名ネットワークから送金された0.3 ETHに由来していることです。
! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗](https://img-cdn.gateio.im/webp-social/moments-904133c007422770dd55372438c3d257.webp0192837465674839201
! [致命的な残留物:一時的なストレージによって引き起こされた300,000ドルのオンチェーン強盗])https://img-cdn.gateio.im/webp-social/moments-c2206fe20197a3835ddb92319314e4eb.webp(
まとめと提案
今回の攻撃は、トランザクション全体の間に変わらない瞬時のストレージの特性を利用し、コールバック関数の権限検証をうまく回避しました。同様の事件を防ぐために、プロジェクト側に提案します:
この事件は、私たちに新しい技術を採用する際には慎重に行動し、その安全性への影響を全面的に評価することが必須であることを再度思い出させます。また、継続的なセキュリティ監査とリスク管理はユーザー資産を保護するために極めて重要です。