Table of Contents
June 5, 2024 ยท View on GitHub
Repo for public materials related to Origin security.
Table of Contents
Defi incident reports
Security materials
- Solidity security considerations
- Trail of Bits curated list
- Caveats about ecrecover
- 2020 paradigm CTF writeup
- How to do a Proper Code Review
Checklists
- ERC20 token integration checklist
- Contract PR checklist
- Verbose Contract PR Checklist
- Deployment Plan template on notion
Tools
Testing
Slither
Slither is a static analysis tool for Solidity contracts.
How to run it
pip3 install slither-analyzer
cd origin-dollar/contracts
yarn install
yarn run slither
Updating Slither DB
yarn run slither --triage
Running this command will open an interactive console where you can select the errors/warning that you want to be excluded. Once done, commit and push the updated Slither DB file. Note: make sure you are running the latest version of slither on your local.
Echidna
Echidna is a test fuzzer for Solidity contracts.
The Echnida tests for the OUSD contracts are under contracts/contract/crytic.
How to run it
On MacOS and Linux, download the latest pre-compiled binaries from here. Untar the files in a directory and add the path where the echidna-test binary was extracted to your shell's PATH.
To run the tests:
cd origin-dollar/contracts
yarn run echidna
Note that the tests take about ~30min to run.
Transaction viewers
Bytecode decompilers
4byte signature databases
External audits
See this directory