Smart Contract Code Weaknesses and Solutions
Security of Smart Contract Code
Description
This is a course that focuses both on manually scanning the code vulnerabilities, and bugs through focusing on a large set of (around 40) vulnerabilities for smart contracts and also on automatic vulnerability analysis tools. It also includes several lectures which demonstrate and use security-related libraries which are specifically created to improve the security of smart contracts. The selected development language is Solidity. We have a "Solidity and Remix in a Nutshell Lecture" for students who have a background in other development languages but lack smart contract development experience. This would help them to understand the content and to be able to run provided code parts along with various explanations throughout the course dealing with language/platform-specific issues.
The security weaknesses addressed in this course include some popular weaknesses such as Reentrancy but also many others. We visit numerous terms as we explain these problems and related solutions. Whenever we encounter a pattern to solve a problem we explicitly mark this on our slides. We will be looking at code samples which will be provided from the course web site when we discuss the problems and solutions.
Finally, the tools and libraries which used in the course either to introduce new tools/libraries or as helper tools are Remix, Docker, VeriSol, DotNetTool, Oyente, Open Zeppelin Access Control, Open Zeppelin Tokens, Open Zeppelin, Manticore, and Slither.
What You Will Learn!
- Smart Contract Code Related Security Problems and How To Solve Them
- Security Patterns and How They Help To Overcome Security Attacks or Eliminate Vulnerabilities
- How To Install and Use Various Tools Including Remix, VeriSol, Oyente, Manticore, Slither, and Helpers Including Docker, and DotNetTool
- Various Libraries, Including Open Zeppelin Access Control, Open Zeppelin Utilities/SafeMath, OpenZeppelin Tokens, Chainlink, and Hardhat.
- Solidity Language Based Implementations of Problems and Solutions Including Patterns
- Solidity Basics
- How To Create, Compile, Deploy and Use Deployed Smart Contracts Using Remix
Who Should Attend!
- Beginner to Advanced