Checklist for solidity contract deployment onto mainnet.
When to conduct this checklist
This checklist suppose to be conducted before code freezing.
I start scanning solidity smart contracts to figure out top 1.0% common and critical vulnerabilities.
- How to list points:
- Review the vulnerability report patterns from the top 10 projects within 2 months
- Concentrate on the top 1% of critical issues.
- Check the pattern of vulnerability report from top 10 projects
I refer to the latest version(v2.3) of Immunefi's vulnerability Severity Classification System.
4-levels of severity on each scope segment.
4-levels of Severity:
- Critical
- High
- Medium
- Low
Scope Segment:
I filtered samples as the following criteria.
- Project Inherited ERC721 or ERC1155, and ERC2918(NFT Royalties).
Keep it Simple, up to 10 points.
- function to input:
- critical flow
- extensional function for structs: tokenURI,
- Beneficiary of Royalty
- whitelist
- royalty
- Pattern
Cited from the reports of following companies.
This checklist is inspired by OWAPS-Web-Checklist.