POMABuster is an automated engine to detect Price Oracle Manipualtion Attack (POMA) to blockchain oracles. For more details about POMABuster, please refer to the paper POMABuster: Detecting Price Oracle Manipulation Attacks in Decentralized Finance.
If you use POMABuster, please cite this paper
TBA
All our datasets are publicly available:
- The transaction dataset is stored separated on Zenodo. You can also obtain it from Google BigQuery or run Etehreum-ETL on your local Ethereum node.
- The code4rena dataset is available under the
dataset
folder of this repo. The source are from an ICSE'23 paper, Demystifying Exploitable Bugs in Smart Contracts. - The ERC20 token/tokenholder dataset are crawled from Etherscan. Scripts are available at the
src/tokens/erc20
folder.
- Download the transaction dataset
- Run the ERC20 token/tokenholder scripts
cd src/tokens/erc20
scrapy crawl ERC20 -o erc20.jsonlines
scrapy crawl holder -o holder.jsonlines
- Run the notebooks in the following order
pomabuster.ipynb
linking.ipynb