I want to analyze transactions to:
- check if they belong to a frontrunning attack
- extract metadata including:
- frontrunning type + metadata
- data that determines if it's easy/hard for tools to detect
- data that makes it easy for humans to understand the attack
History Analyzer (eg python+SQL, using RPC), that:
- uses an archive node to filter out potential frontrunning attacks
Transaction Replayer (REVM or wrapper for RPC), that:
- runs transactions based on a specific block state
- outputs transaction traces
Transaction Player (eg customized Foundry), that:
- deploys minimal contracts
- setups the vulnerable state of the contracts
- runs 2+ transactions in different orders
- outputs transaction traces (or similar)
Transaction Analyzer (python), that:
- takes transaction traces (or similar)
- checks if the transaction matches a frontrunning definition
- extracts attack metadata
- extracts labels
Detection Tool Runner (eg SmartBugs), that:
- takes smart contracts (or groups of them)
- checks which detection tools report TOD vulnerabilities for which contracts