https://github.com/Cyfrin/security-and-auditing-full-course-s23 The ultimate, most advanced, security, DeFi, assembly, web3 auditor course ever created.
Smart Contract Auditing, Assembly, Security, and DeFi Ultimate Course
Level up your career as a smart contract auditor writing secure and optimized smart contracts.
Welcome to the repository for the Ultimate Smart Contract Auditing, Assembly, Security, and DeFi Course by Cyfrin Updraft and The Red Guild!
This repository houses the written content of our courses, organized to facilitate easy access and contribution from our community.
Please refer to this for an in-depth explanation of the content:
Website - Join Cyfrin Updraft and enjoy 50+ hours of smart contract development courses
Twitter - Stay updated with the latest course releases
LinkedIn - Add Updraft to your learning experiences
Discord - Join a community of 3000+ developers and auditors
Newsletter - Weekly security research tips and resources to level up your career
Codehawks - Smart contracts auditing competitions to help securing web3
Table of Contents
Note: If you're familiar with Patrick's previous courses, we have renamed "Lessons" to "Sections"
Part 1
Smart Contract Auditing, Assembly, Security, and DeFi Ultimate Course
Smart Contract Auditing, Assembly, Security, and DeFi Ultimate Course
Table of Contents
Table of Contents
Introduction, Resources, and Prerequisites
Link to video: *Coming soon...*
Resources For This Course
Prerequisites
Outcome
Bonus NFTs
Curriculum
Curriculum
🤗 Section 0: Welcome to the Course
Welcome
Why Security?
Why Web3 is so important
The Final Boss Codebase, you'll be able to audit this at the end of this course
Best Practices for this course
Section 0 NFT
🐸 Section 1: Review (Don't skip)
Section 1 NFT
❓ Section 2: What is a smart contract audit (Security Review)?
What is a security review/smart contract audit?
Smart Contract Development Life Cycle
Top Smart Contract Auditors (Subjective!)
Tooling
Audit Readiness
Attacker vs. Defender mindset
Top Attack Vectors
Section 2 NFT
⛳️ Section 3: Your first audit | PasswordStore Audit
Security Review > Audit
"The Tincho"
Exploits
Exploits: Access Controls
Writing your first finding
Exploits: Private Data
Your first report
Section 3 NFT
🐶 Section 4: Manual & Static Analysis | Puppy Raffle Audit
Tooling: Static Analysis
Scoping & Reconnaissance: Puppy Raffle
Exploits: Reentrancy
Exploits: Weak RNG
Exploits: Arithmetic issues
Exploits: DoS (Denial of service)
Exploits: Poor ETH Handling
Informational Findings
Gas Audits
Code Maturity
Writing the report: Puppy Raffle
Section 4 NFT
🔄 Section 5: Invariants & Intro to DeFi | TSwap Audit
Scoping & Reconnaissance: T-Swap
Intro to DeFi/OnChain Finance
Tooling: T-Swap
Exploits: Weird ERC20s
Exploits: Core Invariant breaking
Design Patterns: T-Swap
Section 5 NFT
🌩️ Section 6: Centralization, Proxies, and Oracles | Thunder Loan Audit
Section 6: Centralization, Proxies, and Oracles | Thunder Loan Audit
Scoping & Reconnaissance: Thunder Loan
Tooling: Thunder Loan
Design Patterns: Thunder Loan
Section 6 NFT
🌉 Section 7: Bridges, Chains, Signatures, Intro to Yul/Assembly | Bridge Boss Audit
Section 7: Bridges, Chains, Signatures, Intro to Yul/Assembly | Bridge Boss Audit
Tooling: Boss Bridge
Scoping & Reconnaissance: Boss Bridge
Bridge Hacks
Design Patterns: Boss Bridge
Section 7 NFT
🛡️ Section 8: (THE FINAL BOSS AUDIT) MEV, Nodes, & DAOs | Vault Guardians Audit
Section 8: (THE FINAL BOSS AUDIT) MEV, Nodes, & DAOs | Vault Guardians Audit
Concepts: Vault Guardians
Introduction to MEV
Design Patterns: Vault Guardians
Section 8 NFT
First CodeHawks Competitive Audit
First CodeHawks Competitive Audit
Part 2
Coming soon...
Section 9: Wallet & Key Management
Section 9: Wallet & Key Management
Wallet types
Wallet Safety
Verify Metamask transactions
Section 9 NFT
Section 10: EVM Assembly & Opcodes | Yul & Huff
Section 10: EVM Assembly & Opcodes | Yul & Huff
Section 10 NFT
Section 11: Formal Verification & Symbolic Execution
Section 11: Formal Verification & Symbolic Execution
Section 11 NFT
Section 12: DeFi | Stablecoin Audit
Section 12: DeFi | Stablecoin Audit
Section 12 NFT
Section 13: Post-deployment
Section 13: Post-deployment
Section 13 NFT
Congratulations
Congratulations
Where do I go now?
Learning More
Thank you
Thank you
Sponsors
Lead Lecturers / Code Builders
Guest Lecturers
Special thanks
More Security Stuff
Huge Extra Thank YOU
Introduction, Resources, and Prerequisites
Link to video: Coming soon...
⚠️ All code associated with this course is for demo purposes only. They have been audited, but we do not recommend them for production use and should be used at your own risk.
Resources For This Course
Join Cyfrin Updraft for the best learning experience!
AI Frens
Github Discussions
Ask questions and chat about the course here!
Stack Exchange Ethereum
Great place for asking technical questions about Ethereum
Peeranha
Decentralized Stack Exchange!
Exploit Resources
Challenge Contracts Registry
Prerequisites
An intermediate understanding of solidity. You don't need to be a pro, but you should be familiar with:
Blockchain basics (transactions, blocks, decentralization, etc)
Running a smart contract test suite (hardhat, foundry, truffle, etc)
Solidity basics (variables, functions, structs, etc)
Here are some resources to get you up to speed with the prerequisites:
Full Foundry Course : This will give you every single prerequisite
Speed Run Ethereum : This will give you most of what you need. But you’ll need a little extra time on invariant tests, using foundry, and DeFi/OnChain Finance.
Prerequisite tools
Outcome
Have the foundational skills to become a professional smart contract auditor
Speak, interact, and contribute to the web3 security community
Compete in web3 competitive audits
Compete in web3 bug bounties
Start a career as an independent auditor
Become a top 1% smart contract developer
Bonus NFTs
Important Notes for Arbitrum
IF YOU DECIDE TO MINT THE REAL NFT:
We didn't audit/security review the NFT, so if you want to make sure you'll be safe, interact with the contract using a burner wallet (a wallet with very little money that you don't use for anything else)
In fact... Get good at interacting with wallets from a burner wallet
Read my Tweet thread on basic wallet safety
It might be a good idea to wait till later in the course when we teach you about verifying metamask transactions.
Feel free to mint NFTs on sepolia without worrying about the above
Bridging to Arbitrum
We didn't show you how to bring ETH -> Arbitrum, but the process would be:
Buy ETH (On an exchange like Coinbase or Kraken )
Send ETH -> one of your wallets like:
Safe (Multi-Sig)
Metamask
Frame
Rainbow
Argent
Coinbase Wallet
Use the Arbitrum Bridge
Curriculum
🤗 Section 0: Welcome to the Course
Do not skip this section!
Welcome
Why Web3 Security?
Web3 is important
Permissionless finance
Unbreakable promises
Web3 security is subpar right now
Rekt Leaderboard
$1B in 2023 (so far)
Web3 vs Web2 hacks. Web2 is mostly PII theft, where Web3 hacks result in irrevocable losses of funds.
Bad actors in the space. Lone wolf hackers vs. well funded, persistent nation state actors (e.g. NK).
Career opportunities
Top 1% Developer
Private Audits
Competitive Audits
Bug Bounties
Future:
Incident Responders
On-chain investigators
More…
Why Web3 is so important
The Final Boss Codebase, you'll be able to audit this at the end of this course
Best Practices for this course
Register for Cyfrin Updraft
USE THIS SITE!!! It's specfically made to make learning easier
Follow the repository: While going through the course be 100% certain to follow along with the github repository. If you run into in an issue check the chronological-updates in the repo.
Be Active in the community: Ask questions and engage with other developers going through the course in the discussions tab, be sure to go and say hello or gm! This space is different from the other industries, you don't have to be secretive; communicate, network and learn with others :)
Learn at your own pace: It doesn't matter if it takes you a day, a week, a month or even a year. Progress >>> Perfection
Take Breaks: You will exhaust your mind and recall less if you go all out and watch the entire course in one sitting.
Suggested Strategy every 25 minutes take a 5 min break, and every 2 hours take a longer 30 min break
Refer to Documentation: Things are constantly being updated, so whenever Patrick opens up some documentation, open it your end and maybe even have the code sample next to you.
Use ChatGPT and/or the course chat
And finally, by embarking on this journey, you are now a "Security Researcher", not an "Auditor". The key word being "Researcher", so we will go over strategies for continued learning so you can stay on top of your game.
🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯
🎯 Exercise: Write yourself a message about why you want this
This will be important for when things get hard
Is it money? Save web3? Become someone? Write down as many reasons as possible.
Section 0 NFT
🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯
(back to top ) ⬆️
🐸 Section 1: Review (Don't skip)
Tooling & Environment Prerequistes
Solidity & Smart Contract Prerequisites
Remix
Basic smart contracts
Fuzzing & Stateful Fuzzing (This might be new)
Fuzz tests
Stateless Fuzzing
Stateful fuzzing
Invariants
Common EIPs/ERCs
Github Copilot
ERC20s
NFTs (ERC721s)
Advanced Solidity
storage
Fallback & Receive
Encoding, Call, & Staticcall
Clip from the foundry full course
Delegatecall & Proxies
Clip from foundry full course
tx.origin vs msg.sender
Selfdestruct (to be removed in an upcoming fork)
Advanced Foundry
🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸
🐸 Exercise:
Join the CodeHawks/Cyfrin Discord
Go for a walk, and buckle up
Section 1 NFT
🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸
(back to top ) ⬆️
❓ Section 2: What is a smart contract audit (Security Review)?
What is a security review/smart contract audit?
High Level Overview
People say "audit" -> security review
There is no silver bullet to auditing, and they have limitations
3 phases of a security review
Initial Review
Scoping
Reconnaissance
Vulnerability identification
Reporting
Protocol fixes
Fixes issues
Retests and adds tests
Mitigation Review
Reconnaissance
Vulnerability identification
Reporting
Plan & Design
Develop & Test
Smart Contract Audit & Post Deploy Planning
Deploy
Monitor & Maintain
Use this list to reference how top quality security teams do reviews, post reports, do research, etc
Audit Readiness
Tooling
Static Analysis
Fuzzing / Invariant Tests
Foundry
Echidna
Consensys
Formal Verification
Certora
Solidity SMT Checker
Maat
Manticore
AI
Tooling vs Humans
Attacker vs. Defender mindset
Top Attack Vectors
📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝
📝 Exercise: Sign up for one security/web3 newsletter!
Section 2 NFT
📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝
(back to top ) ⬆️
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢
Important Note: We are now going to do audits. Please note, that we will not find all the bugs in each codebase. Each codebase was designed to show you a specific set of bugs, and give you a good understanding of what an audit "feels" like.
🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢
⛳️ Section 3: Your first audit (security review) | PasswordStore Audit
💻 Security Review CodeV1: https://sepolia.etherscan.io/address/0x2ecf6ad327776bf966893c96efb24c9747f6694b
💻 Security Review CodeV2: https://github.com/Cyfrin/3-passwordstore-audit
💻 Security Review CodeV3: https://github.com/Cyfrin/3-passwordstore-audit/tree/onboarded
💻 Security Review Final: https://github.com/Cyfrin/3-passwordstore-audit/tree/audit-data
Feel free to look ahead and try to find the bugs on the codebase yourself, or get familiar with the protocol first.
Remember the phases!
🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽
Initial Review
Scoping
Reconnaissance
Vulnerability identification
Reporting
🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼
For this demo, we are ignoring the last 2 phases
Protocol fixes
Fixes issues
Retests and adds tests
Mitigation Review
Reconnaissance
Vulnerability identification
Reporting
The Setup (Scoping): PasswordStore
V1
"Hey, here is my link to Etherscan, can I get an audit?"
V2
Client onboarding: Minimal
V3
"The Tincho"
Exploits (Vulnerability Identification)
Exploits: Access Controls
Missing onlyowner
Access Controls
Unprotected sensitive functions
Role misconfiguration
Privilege escalation
Exploits: Private Data
Storing a secret (private data is not private)
More Recon
Writing your first finding
Write finding
How to write a good finding
Title: Root Cause + Impact
Finding Layout:
### [S-#] Title (ROOT CAUSE + IMPACT)
**Description:**
**Impact:**
**Proof of Concept:**
**Recommended Mitigation:**
Write PoC
Mitigation
Using AI
Are we done?
Your first report (Reporting)
Writing the Report
Severity Classification
Basic Markdown Report
🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚
🥚 Exercises:
Sign up for CodeHawks!
Tweet about your first audit!
Section 3 NFT
🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚
(back to top ) ⬆️
🐶 Section 4: Manual & Static Analysis | Puppy Raffle Audit
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
This is the BEST security review for new auditors, 100% be sure to pay attention to this section.
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
This is the go-to best starter audit/security review. There are a lot of bugs in here, some obvious, some not.
💻 Security Review Code: https://github.com/Cyfrin/4-puppy-raffle-audit
Concepts you'll learn: Static analysis, Reentrancy, Weak RNG, Arithmetic issues, How to write a professional looking report.
Tooling: Static Analysis
Scoping & Reconnaissance: Puppy Raffle
Exploits: DoS (Denial of service)
Exploits: Reentrancy
Exploits: Weak RNG
Exploits: Arithmetic issues
Examples:
Under/Overflow
Rounding & Precision
Exercises
Prevention:
Use newer versions of solidity
Multiply before divide
Exploits: Poor ETH Handling
Informational Findings
Stict Solc Versioning
Supply Chain Attacks
Magic Numbers
Gas Audits
Code Maturity
Static Analysis, follow up
What is a Competitive Audit?
Writing the report: Puppy Raffle
🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀
🧑🚀 Exercises:
Ethernaut Challenge s (1, 9, and 10) 🧑🚀
Sign up for Solodit
Post a tweet about how you completed the Puppy Raffle Audit!
Sign up for farcaster
Do a CodeHawks First Flight
Section 4 NFT
🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀🧑🚀
(back to top ) ⬆️
🔄 Section 5: Invariants & Intro to DeFi | TSwap Audit
💻 Security Review Code: https://github.com/Cyfrin/5-t-swap-audit
Concepts you'll learn: Stateful fuzzing, Fuzzing, Invariants, FREI-PI/CEII, Advanced DeFi, AMMs, Uniswap, Curve.fi, Constant product formula
🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑
STOP!
Don't look at the contracts for this one!
We are going to show you how you can use advanced tools to find even more bugs just by properly understanding invariants and writing more effective test suites.
🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑
The Setup (Scoping): T-Swap
Client onboarding: Extensive
Reconnaissance: T-Swap
Intro to DeFi/OnChain Finance
Tooling: T-Swap
Exploits: Weird ERC20s
Exploits: Core Invariant breaking
Design Patterns: T-Swap
FREI-PI / CEII / Pre & Post Checks
💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰
💰 Exercises:
Write a fuzz test to find a bug in this challenge
Write a tweet thread about an interesting finding from Solodit
Section 5 NFT
💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰
🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊
Congratulations!!
If you've made it this far in the course and you understand what's going on, you have the skills to start getting paid as a security researcher, doing competitive audits, bug bounties, or even get hired!
But if you want to become one of the best in the world and really secure web3, keep going...
🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊
(back to top ) ⬆️
🌩️ Section 6: Centralization, Proxies, and Oracles | Thunder Loan Audit
💻 Security Review Code: https://github.com/Cyfrin/6-thunder-loan-audit
We are staritng to get more advanced with DeFi and smart contract issues. Buckle up, we are getting hotter.
Scoping & Reconnaissance: Thunder Loan
DeFi: Borrowing & Lending
Malicious Scope
Don't "yes-man" every audit
Tooling: Thunder Loan
Exploits: Failure to initialize
Exploits: Storage collision
Exploits: Centralization
Silent Upgrades
Case Study: Oasis
Exploits: Missing events
Exploits: Bad Upgrade
Exploits: Oracle & Price Manipulation
Design Patterns: Thunder Loan
📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦
📦 Exercises:
YAcademy Proxy
Tweet about how YOU feel about upgradeable smart contracts
Section 6 NFT
📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦
(back to top ) ⬆️
🌉 Section 7: Bridges, Chains, Signatures, Intro to Yul/Assembly | Bridge Boss Audit
💻 Security Review Code: https://github.com/Cyfrin/7-boss-bridge-audit
Tooling: Boss Bridge
AI
Tenderly
evm diff
We will learn "the Hans'"
Scoping & Reconnaissance: Boss Bridge
Exploits: Opcode Support
Exploits: Signature Replay
Exploits: ERC20 Contract Approval
Exploits: Unlimited Minting
Bridge Hacks
Bridge hacks: Ronin, Poly network, Nomad, Wormhole
Writing the report: Boss Bridge
Design Patterns: Boss Bridge
💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰
💰 Exercises:
Damn Vulnerable DeFi Challenges 1, 2, 4
Write a tweet thread about an interesting finding from Solodit
Tweet about how you finished the hardest audit yet!
Read about more historic attacks:
Signature Replay
Merkle tree signature issues
Polygon Double Spend
Nomad Bridge Hack
Section 7 NFT
💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰
(back to top ) ⬆️
Section 7.5: MEV & Governance
Introduction to MEV
MEV Explained
MEV Explained continued
Toxic MEV
Frontrunning
Sandwich Attacks
non-toxic
MEV Protection
MEV in our past security reviews:
Puppy:
Someone can front-run selectWinner
to call a refund
T-Swap:
Deadline protection means people can "sandwhich" attack you
Thunder Loan:
Users can front run flash loans to make the fees higher or lower
Boss Bridge:
A signed transaction could be front run so that an attacker sends tokens from an L2 before the signer can
Slippage Protection
Exploits: Governance Attack
Unlimited Minting
Flash Loan Voting
Case Study: Beanstalk
Metamorphic upgrades
Case Study: TORN Governance
🛡️ Section 8: (THE FINAL BOSS AUDIT) MEV, Nodes, & DAOs | Vault Guardians Audit
This security review is optional. It's a LOT of code! But if you choose to do it, you'll get a better idea of what a larger codebase feels like. Being comfortable coming up to a codebase and saying "I'll eventually understand this codebase, but right now I don't" is important!
💻 Security Review Code: https://github.com/Cyfrin/8-vault-guardians-audit
Concepts: Vault Guardians
Good luck :)
🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅
🦅 Exercises:
1st CodeHawks Competitive Audit
Write a tweet thread about an interesting finding from Solodit
Write a blog or tweet on your experience!
Read these tips for auditing multi-chain protocols
Section 8 NFT
🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅
🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅
First CodeHawks Competitive Audit
How to submit a finding
How to decide severity
Where to find a competitive audit
🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅
🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅
(back to top ) ⬆️
🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊
Congratulations!!
If you've made it this far in the course and you understand what's going on, you have the skills to become one of the top security researchers in web3! Either as a solo auditor, freelancer, competitive auditor, or even get hired by a top firm!
However... if you want to be on the cutting edge and be able to understand every nook in web3, you've got a little more to go...
🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊
Part 2
Coming soon...
Section 9: Wallet & Key Management
Wallet types
Custodial Wallets
"Hot" Wallets
"Cold" Wallets
Multi-sig (Yes - Set it up)
Wallet Safety
Verify Metamask transactions
🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐
🔐 Exercises:
Set up your Safe!
Review classic key leeks
.env
leak with private keys
Research one private key leak from rekt.news
Check out keepmesafe
Section 9 NFT
🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐🔐
(back to top ) ⬆️
Section 10: EVM Assembly, Opcodes, Yul, & Huff | Horse Store
EVM Opcodes
Introduction to Yul
Security considerations (compiler doesn’t keep you safe anymore!)
Introduction to Huff
Forge debugger
Tenderly Debugger
Decompilers
Metadock
🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴
🐴 Exercises:
Convert a minimal contract of your own into Huff or Yul
Section 10 NFT
🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴🐴
(back to top ) ⬆️
Section 11: Formal Verification & Symbolic Execution
Symbolic Execution / Formal Verification Tools in Web3
Issues
🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮
🧮 Exercises:
Attempt to use another FV tool
Look into the Solady LibClone.sol
It's a really cool codebase
Section 11 NFT
🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮🧮
(back to top ) ⬆️
🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥
🎥 Exercise: Watch this awesome video 🎥
🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥🎥
Section 12: DeFi | Stablecoin Audit
🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙
🪙 Exercise: Audit this! 🪙
Section 12 NFT
🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙🪙
(back to top ) ⬆️
Section 13: Post-deployment
Watch this video from DeFi security summit
Bug Bounty
Incident response
Monitoring
Blockchain sleuthing
What do you do if you find a live issue?
Check for a bug bounty
If yes -> Submit, and you’re done
If no -> Continue
Reach out for help (privately!)
Seal 911 (Or other emergency web3 paths)
Connect with the team
Come up with a plan to fix
If they want to fix -> hooray! Do that
If they ignore it… You have a few options
Give them 45 - 90 days to fix it, and say you will publicly disclose the information if they do not fix it
Attempt a rescue yourself (Ideally, you never reach here)
White/No/Black Hat Case Studies
Nohats
Whitehats
Blackhats
🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠
Section 13 NFT
🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠🌠
(back to top ) ⬆️
Congratulations
🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊 Completed The Course! 🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊
If you've made it this far... wow.
Where do I go now?
Competititve Audits
CodeHawks Discord
Start marketing your services
Twitter, Farcaster, LinkedIn, etc
Blogging: Medium, Mirror, etc
Bug Bounties
Learning More
Disclosures
The Cyfrin team runs CodeHawks, Cyfrin Updraft, and private security reviews. They are an advisor to the Peeranha project, and run various blockchain nodes like Chainlink & Ethereum. Additionally, the are responsible for the creation of the Aderyn and Solodit tools.
Thank you
Sponsors
Lead Lecturers / Code Builders
Guest Lecturers
Special thanks
More Security Stuff
Huge Extra Thank YOU
Thanks to everyone who is taking, participating in, and working on this course. These courses are passion project data dumps for everyone in the web3 ecosystem.
Let's level up so we can keep web3 safer, and thank you again for taking this course!
(back to top ) ⬆️