その理由は、新しい USDC 市場では、「書き込み」関数の数学的丸めの問題が増幅および悪用され、ハッカーが追加の USDC を抽出できるようになるためです。
撰文:Daniel Tan
北京時間の2024年1月3日、ArbitrumのRadiantプロトコルがフラッシュローンによる攻撃を受けた。ハッカーは #Radiant プロトコルに対して 3 回の攻撃を実行し、合計 1,902 ETH (450 万ドル相当) が損失しました。根本的な原因は、新しい $USDC 市場で、「書き込み」関数の数学的丸めの問題が増幅されて悪用され、ハッカーが追加の $USDC を引き出すことができたことです。
MetaTrust Labs はこの攻撃について詳細な調査と分析を実施し、ハッカーがどのように脆弱性を悪用したかを明らかにしました。
Radiant は、Arbitrum、BNBChain、Ethereum などの複数のチェーン上で実行される分散型の非保管貸付プロトコルです。

攻撃後も、Radiant プロトコルにロックされていた総額は 3 億 1,300 万ドルのままでしたが、これはプロジェクト チームが攻撃を受けた後、さらなる損失を防ぐためにすぐにプロトコルを一時停止したためです。

## タイムライン

## 貿易
0xc5c4bbddec70edb58efba60c1f27bce6515a45ffcab4236026a5eeb3e877fc6d
0x2af556386c023f7ebe7c662fd5d1c6cc5ed7fba4723cbd75e00faaa98cd14243
0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b
3 件の攻撃トランザクションにより、合計 1,902 ETH 以上、450 万米ドル以上の損失が発生しました。この記事の執筆時点では、1,902 $ETH がまだハッカーのウォレット (0x826d5f4d8084980366f975e10db6c4cf1f9dde6d) に保管されていました。
アタッカー
0x826d5f4d8084980366f975e10db6c4cf1f9dde6d
攻撃契約
0x39519c027b503f40867548fb0c890b11728faa8f
攻撃を受けている契約
Radiant: 貸出プール:
0xf4b1486dd74d07706052a33d31d7c0aafd0659e1
rUSDCn:
0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55
攻撃の 15 秒前、プロジェクト関係者は Arbitrum 上に新しい USDC マーケットを作成したばかりで、ハッカーは新しい USDC マーケットとやり取りした最初の人物でした。

最初の攻撃トランザクション 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b を例に挙げます。
フラッシュ ローン機能を通じて AAVE から 300 万米ドルの USDC を借ります。
2M $USDC を Radiant Pool に入金すると、liquidityIndex は 1e27 になります。

Radiant Lending Pool で 200 万ドルのフラッシュ ローンを作成し、liquidityIndex を 1.8e36 に拡大します。
手順 3 を 151 回繰り返して、liauidityIndex を 2.7e38 (初期値の 270000000000 倍) に拡大します。

Radiant Pool から 90.6 $ETH、215,000 ドル相当を借ります。これがこの攻撃による利益です。
新しい契約を作成します (0xd8b591)。
新しい契約の無制限の USDC を承認し、543K $USDC を新しい契約に転送し、新しい契約を使用して次の手順を実行します。543K $USDC を新しい契約に転送し、新しい契約を使用して次の手順を実行します;
543K $USDC を Radiant プールにデポジットし、2 wei トークンを鋳造します。 amountScaled が 2 トークンであるため、543600000002*1e27/271800000000999999999999998631966035920=2;




271K $USDC を Radiant プールに入金し、amountScaled が 1 のミント トークンを入金します。なぜなら、271800000001*1e27/271800000000999999999999998631966035920=1 だからです。
Radiant プールから 407K $USDC を引き出し、amountScaled が 1 のトークンのみを破棄します。
ステップ 10 と 11 を最大 18 回繰り返し、ハッカーが以前に新しい市場に入金した $USDC を新しい市場から排出します。
2 $WETH を 4.73K $USDC に、3.23K $USDC を 1.36 $WETH に変換します。
AAVE のフラッシュ ローンを返済するために、元本として 350 万 USDC を使用し、手数料として 15,000 USDC を使用します。
90 ETH の利益。
## 根本的な原因
根本的な理由は、ハッカーが新しく作成されたネイティブ USDC マーケットと最初にやり取りし、Radiant プロトコルのフラッシュ ローン機能を悪用して流動性インデックスを増幅し、数学的丸め問題を悪用して融資プールから資産を盗んだことです。
## キーコード

