Communication Channels : Messaging Channels and regular meetings for updates via Video Conference are normal, there may be barriers due to languages and time zones. Ongoing communication is key to a successful audit.
Secure Smart Contract Design The principles of secure smart contract design, such as minimizing attack surface, using tested and proven libraries, access control, and following security specific design pattern
NatSpec and Documentation : The importance of documentation and the NatSpec standard for smart contracts.
Foundry Forge : A Rust based Development Framework that includes many useful tools for understanding and testing smart contract including a stateless and stateful (Invariant) fuzzer
Mythril : A security analysis tool for Ethereum smart contracts. It uses concolic analysis (dynamic symbolic execution), SMT Solving taint analysis, and control flow checking to detect a variety of security vulnerabilities.
Slither : A static analysis framework that can detect common issues such as re-entrancy, suicidal contracts, and incorrect visibility.
Echidna : A property-based fuzzer that can be used to find bugs in smart contracts.
Certora : Formal verification tool for smart contracts.
MythX : A SAAS security analysis platform for Ethereum smart contracts.
Introduction to Formal Verification Tools : Introduces formal verification tools such as Certora and how they can be used to verify the correctness of smart contracts.
Real World Examples : Provides real world examples of how formal verification has been used to find and fix vulnerabilities in smart contracts.
Re-entrancy Attacks : This occurs when an external contract hijacks the control flow, and makes recursive calls to the original contract.
Delegatecall : delegatecall is a low-level function similar to a dynamic library call in other languages. If not used carefully, it can lead to serious vulnerabilities.
Math-Related Vulnerabilities : Integer overflow, underflow, and rounding errors are common in smart contracts due to the lack of native floating-point support in Solidity.
Unchecked Return Values : Failing to check the return values of low-level calls such as send, call, and delegatecall can lead to vulnerabilities where contract execution continues even after a failed external call.