Security: Introduction to Diligence
As we’ve drilled into your head many times now, smart contract development is different than traditional software development:
- Smart contract development is new and it is constantly changing.
- Smart contracts are immutable. They cannot be modified (only re-deployed).
- High cost of failure. More similar to hardware and financial services programming.
- Smart contracts information is public and anyone can call your public functions.
We’ve gone over many of the common attack vectors, discussed smart contract best practices and showed you design patterns to increase security for your distributed applications. Much of this information came from the brilliant minds at Diligence, the auditing and smart contract security arm of ConsenSys.
Diligence provides audits for the largest names in the blockchain sector, including Aave, 0x, Covantis, Aragon, Omisego, Horizon and more.
Along with audits, Diligence also provides automated security analysis through two main tools: MythX and Scribble.
MythX
MythX is a smart contract security service for Ethereum built by ConsenSys Diligence. As part of the bootcamp, we have gotten a free month of the developer plan for every student from the ConsenSys Diligence team.
Promo code = ESvxp6CQ
Steps to Get Started
- Go to https://mythx.io/
- Click the “sign up”button
- Complete the registration form.
- You will then have an option to choose a plan. Please select “Try MythX & Buy Scans” This will allow you to set up a MythX account with no charge.
- Go to the dashboard Billing tab click “Buy a pack of 3 scans today for $9.99”
- Enter your promo code
x9naNrvz
in the box provided and proceed through check with no charge
Scribble
Diligence also provides another analysis tool called Scribble, which is “Fuzzing as a Service.”
Fuzzing is a general computer security automation method that essentially runs millions of tests against your codebase. There’s a bit of structure involved, but the overall concept is applicable to all other computer security industries.
In the following lesson, Joran Honig will walk you through the basic concepts behind Scribble and through three exercises to help you learn how to use Scribble!
Additional Material
- Video: Security by Design and Smart Contract Audits (Shayan Eskandari)
- Series: Diligence YouTube Channel
- Video: Shift Left and DevSecOps (Joran Honig) Talk from TruffleCon2020 where Joran goes through the concept of “Shift Left” as it applies to security best practices.
- Video: Shift Left and Automated Tooling (Joran Honig)
- Articles: Collection of Smart Contract Best Practices from Diligence