ゼファーネットのロゴ

カモノハシ攻撃はコードの順序の誤りを悪用した、と監査人は主張

日付:

8 万ドルの Platypus フラッシュ ローン攻撃が可能になったのは、 in Platypus 監査人 Omniscia からの事後分析レポートによると、間違った順序でした。 監査会社は、彼らが見たバージョンには問題のあるコードは存在しなかったと主張しています。

報告書によると、Platypus MasterPlatypusV4 コントラクトには「緊急の引き出しメカニズムに致命的な誤解が含まれていた」ため、「ステーク ポジションに関連付けられた LP トークンを更新する前にソルベンシー チェック」を実行していました。

このレポートは、emergencyWithdraw 関数のコードには攻撃を防ぐために必要なすべての要素が含まれていることを強調していましたが、これらの要素は単純に間違った順序で記述されていたと Omniscia は説明しています。

「この問題は、MasterPlatypusV4::emergencyWithdraw ステートメントの順序を変更し、ユーザーの金額入力が 0 に設定された後にソルベンシー チェックを実行することで回避できた可能性がありました。これにより、攻撃が行われなくなります。」

Omnisia は、4 年 21 月 5 日から 2021 月 XNUMX 日までに MasterPlatypusVXNUMX コントラクトのバージョンを監査したことを認めました。ただし、このバージョンには「外部の platypusTreasure システムとの統合ポイントが含まれていなかった」ため、コードの順序が間違っていた行は含まれていませんでした。 Omniscia の観点からは、これは、監査が行われた後のある時点で、開発者が新しいバージョンのコントラクトをデプロイしたに違いないことを意味します。

関連する Raydiumがハッキングの詳細を発表、被害者への補償を提案

監査人は、Avalanche (AVAX) C チェーン アドレスでのコントラクトの実装を主張します。 0xc007f27b757a782c833c568f5851ae1dfe0e6ec7 悪用されたものです。 このコントラクトの 582 ~ 584 行は、PlatypusTreasure コントラクトの「isSolvent」と呼ばれる関数を呼び出すように見え、599 ~ 601 行は、ユーザーの金額、係数、およびrewardDebt をゼロに設定するように見えます。 ただし、「isSolvent」関数がすでに呼び出された後、これらの量はゼロに設定されます。

カモノハシチーム 確認された 16 月 XNUMX 日、攻撃者は「[the] USP ソルベンシー チェック メカニズムの欠陥」を悪用したが、チームは当初、詳細を明らかにしなかった。 監査人からのこの新しいレポートは、攻撃者がどのようにしてエクスプロイトを達成できたのかをさらに明らかにします。

Platypus チームは 16 月 XNUMX 日に、 攻撃が発生した. ハッカーに連絡して、バグ報奨金と引き換えに資金を返還しようとしました。 攻撃者が使用した フラッシュローン エクスプロイトを実行します。これは、 Defrost Finance エクスプロイト 25 月 XNUMX 日。

スポット画像

最新のインテリジェンス

スポット画像