YFVはイーサリアムをベースにしたDeFiプロジェクトで、本日初めにYFVは脅迫を受けたと述べる文書を正式に発行した。攻撃者はステーキングコントラクトの脆弱性を利用して、ユーザーがロックしたYFVを任意にリセットする可能性があります。

脆弱性分析
脆弱性分析
次の図に示すように、コントラクトには stakeOnBehalf 関数があり、攻撃者が任意のユーザーにステークできるようになります。

この関数の lastStakeTimes[stakeFor] = block.timestamp; ステートメントは、ユーザー アドレス マッピングの lasStakeTimes[user] を更新します。また、ユーザーが住宅ローンを引き出すために使用する関数には検証があり、ユーザーが引き出しにかかる時間が lastStakeTimes[account] + 72 時間より大きくなければなりません。以下に示すように:

UnfrozenStakeTime を次の図に示します。

要約すると、悪意のあるユーザーは少額の資金を通常のユーザーに抵当に入れ、それによって通常のユーザーの資金をロックすることができます。
チェーン上の情報によると、次の 2 つの攻撃の疑いがあることがわかりました。
0xf8e155b3cb70c91c70963daaaf5041dee40877b3ce80e0cbd3abfc267da03fc9
0x8ae5e5b4f5a026bc27685f2b8cbf94e9e2c572f4905fcff1e263df24252965db
そのうちの 1 つを次の図に示します。

要約する
要約する
このインシデントの根本的な原因は、オンライン化前のコード監査作業が適切に行われていなかったことにあります。この事件は実はビジネスレベルの抜け穴だった。
成都聯安のコード監査の経験によると、個々のプロジェクト関係者はコード監査を実施する際に完全なプロジェクト関連情報を提供しなかったため、コード監査ではビジネスの抜け穴を見つけることができず、オンライン化後に多額の損失が発生しました。
Chengdu Lianan Security Lab は、プロジェクト関係者全員に、セキュリティは開発の基礎であり、優れたコード監査がオンライン化の前提条件であることをここに思い出させます。


