QRコードをスキャンしてダウンロードしてください。
BTC $76,863.67 -1.85%
ETH $2,287.42 -3.40%
BNB $623.61 -1.91%
XRP $1.39 -2.53%
SOL $84.18 -3.11%
TRX $0.3260 +0.79%
DOGE $0.0979 -0.88%
ADA $0.2454 -2.80%
BCH $448.64 -1.16%
LINK $9.22 -2.65%
HYPE $41.37 -1.39%
AAVE $96.38 -0.44%
SUI $0.9233 -2.41%
XLM $0.1645 -3.70%
ZEC $351.66 -1.95%
BTC $76,863.67 -1.85%
ETH $2,287.42 -3.40%
BNB $623.61 -1.91%
XRP $1.39 -2.53%
SOL $84.18 -3.11%
TRX $0.3260 +0.79%
DOGE $0.0979 -0.88%
ADA $0.2454 -2.80%
BCH $448.64 -1.16%
LINK $9.22 -2.65%
HYPE $41.37 -1.39%
AAVE $96.38 -0.44%
SUI $0.9233 -2.41%
XLM $0.1645 -3.70%
ZEC $351.66 -1.95%

Nemo契約のセキュリティ脆弱性により259万ドルが盗まれ、Suiチェーン上の資産の安全性に再び警鐘が鳴らされる。

Summary: 2025年9月7日、北京時間、Suiチェーン上のNemoが攻撃され、ハッカーはpy_indexを操作して約259万ドルを盗みました。Nemoが盗まれた根本的な原因は、PyStateが誤って可変参照として設定されたことです。
ExVul セキュリティ
2025-09-14 20:12:36
コレクション
2025年9月7日、北京時間、Suiチェーン上のNemoが攻撃され、ハッカーはpy_indexを操作して約259万ドルを盗みました。Nemoが盗まれた根本的な原因は、PyStateが誤って可変参照として設定されたことです。

イベント概要:

北京時間2025年9月7日、Suiチェーン上のNemoが攻撃され、ハッカーはpy_indexを操作して約259万ドルを盗みました。

攻撃者アドレス:

0x01229b3cc8469779d42d59cfc18141e4b13566b581787bf16eb5d61058c1c724

攻撃トランザクション:

https://suivision.xyz/txblock/HMMicxQWn43rnNswi4gNHanUaeiWW5ijqM5bHLca67D9?tab=Overview

Nemoパッケージ:

0x0f286ad004ea93ea6ad3a953b5d4f3c7306378b0dcc354c3f4ebb1d506d3b47f

根本原因:

今回のNemoの盗難の根本原因は、PyStateが誤って可変参照として設定されていたため、攻撃者が悪意を持ってpyindexを変更でき、mintpy関数を呼び出す際にpy_indexと分離されたSYパラメータを掛け合わせて大量のPTとYTを得ることができたことです。

詳細な分析の結果、py.getsyamountinforexactpyout関数がpy.currentpyindexを呼び出す際に、pyStateのpyindexフィールドを変更するために制約のない数を渡すことが許可されていることが判明しました。

·py.getsyamountinforexactpy_outはPY出力に必要なSYの入力量を計算しますが、ここでのindexには制限がありません。

·py.currentpyindexは渡されたpyindexと保存されたindexを比較し、最大値をpystate.pyindexstoredの最新値として返します。

攻撃プロセス分析

  1. 攻撃者はinitpyposition関数を呼び出してpy_positionを初期化します(ユーザーのポジション記録を初期化し、今回の攻撃とは無関係です)。

  1. 次に、フラッシュローンpy.borrowptamountを利用して大量のPTトークンを借り出します(その後、swapを通じてSY残高を取得します)。

  1. 100回market.swapexactptforsyを呼び出してPTをSYトークンに交換します。

  1. py.getsyamountinforexactpyoutを通じてPY出力に必要なSYの入力量を計算しますが、ここで攻撃者はpyindexに構築した非常に大きな数553402322211286548480000を渡し、元の構造を破壊しました。

  1. 次に、攻撃者は異常に拡大された指数を利用して、yieldfactory.mintpyを呼び出す際に、非常に高い割引率でPTとYTを鋳造し、大量のPTを取得しました。

MintEventは以下の通りです:

  1. 最後に、攻撃者は鋳造したPTを使用してpy.repayptamountで債務を返済し、その後redeemで収益型資産を引き出し、Scallopでトークンを引き出します。

これにより、攻撃者はpy_indexを操作して約259万ドルを盗み出し、その後資産をUSDCに変換し、Bridgeを通じてクロスチェーン転送を行い、最終的にETHとDAIに変換して0x41b1906c4BCded607c6b02861cE15C2E49FF7576に保存しました。

攻撃発生後、Nemoチームは緊急にスマートコントラクト機能を停止し、攻撃事件の調査を開始しました。調査の結果、259万ドルの資産損失は、十分に監査されていない状態で新機能が導入されたことに起因することが明らかになりました。

イベントまとめ:

今回の攻撃の核心は、敏感なデータが誤って書き込み可能な状態に設定されたため、攻撃者が自由にパラメータを渡して変更できたことです。敏感なデータの状態については、厳格な制限とチェックを行う必要があります。

warnning リスク警告
app_icon
ChainCatcher Building the Web3 world with innovations.