## bug hunting smart contracts
### tl; dr
#### initial questions
* list `external` and `public` functions.
* when and where external call happens and what changes.
* check `payable` functions.
* how functions are accessed (permissions by who).
* follow the flow for transfers.
#### look for common vulnerabilities
* reentrancy with flashloans, fallbacks, payables.
* access control.
* arithmetic errors.
#### create an environment for testing
* static analysis
* fuzzing and poc exploits (use foundry)
---
### cool resources
* **[solidity bugs by version](https://00xsev.github.io/solidityBugsByVersion/)**
#### cool bug bounty platforms
* **[immunefi](https://immunefi.com/)**
* **[hackenproof](https://hackenproof.com/)**
* **[bountycaster](https://www.bountycaster.xyz/)**
* **[certik](https://www.certik.com/products/bug-bounty)**
* **[remedy](https://r.xyz/)**
#### cool communities
* **[eth rangers](https://ethrangers.com/)**
* **[security alliance](https://securityalliance.org/)**
* **[the red guild](https://theredguild.org/)**