learn-evm-attacks - 複数のEVMプロジェクトで以前に悪用された脆弱性について学び、貢献します。

(Learn & Contribute on previously exploited vulnerabilities across several EVM projects.)

Created at: 2022-11-07 21:39:45
Language: Solidity
License: MIT

EVM攻撃について学ぶ

EVMチェーンのエクスプロイト、バグ報奨金レポート、および理論上の脆弱性を再現するFoundryテストのコレクション。図とコンテキストリンクは、スマートコントラクトシステムの脆弱性についてもっと学びたい人にとって、参照または学習資料としてより役立つように、各攻撃の再現に付随しています。

ざっと見てみませんか?脆弱性フォルダ(MBCTokenなど)に移動するだけです。READMEを読むか、コンピューターで複製を実行するためにジャンプしてください!必要なのは Foundry のインストールのみです。

$ git clone https://github.com/coinspect/learn-evm-attacks
$ forge install
$ forge test --match-contract Exploit_MBCToken -vvv

インデックス

現在、31のエクスプロイトが再現されています。それらの31のうち、最も興味深いもののいくつかで勉強を始めたい場合に備えて、いくつかを選択しました。

  • フルコンボは、の危険性を示す優れた方法です。
    DELEGATECALL
  • MBCトークンは、疑わしいトケノミクスに関する興味深い裏話を使用してサンドイッチ攻撃を行う方法の入門書です。
  • ウランは、有名なAMM定数積を守る実際のコードを研究するための素晴らしい言い訳です。
    x*y=k

特定のエクスプロイトを実行するには、次を使用できます。

forge test --match-contract Exploit_MBCToken -vvv

必要なデータに応じて、詳細度 (、...) の量を変更します。 痕跡が含まれています!

-v
-vv
-vvvv

完全なリストは以下のとおりです。

アクセス制御

不正なデータ検証

ビジネスロジック

再 入

貢献

貢献するには、最も適切なカテゴリ内に新しいファイルを作成します。攻撃に関連する情報を含むフォルダ内のファイルを使用します。

template.txt
test

フラッシュローンとスワップを実行するユーティリティは、将来の攻撃を再現する作業を容易にするために提供されています。また、Foundryに拡張機能を提供するモジュールがフォルダーに含まれています。

test/utils
test/modules

たとえば、攻撃者が成功した場合、テストでは、攻撃者が攻撃後に以前よりもバランスが取れていることを示す必要があります。

pass

過去の研究とさらなる研究

  • DefiHackLabsには同様のリポジトリがあり、より多くのエクスプロイトがあり、コンテキストや詳細な説明はなく、テストの複製のみに重点を置いています。それでも、攻撃の再現だけを気にするなら素晴らしいです!ぜひチェックしてみてください。