Owen | Web3Sec Profile picture
Mar 5 21 tweets 5 min read
Just getting into Web3 Security & don't know how to start?

Here's a complete 4 step process to become a pro Smart Contract Auditor as quickly as possible 🧵

1️⃣ Start Off By Building Something
2️⃣ Learn DeFi Primitives
3️⃣ Deep Dive Web3 Security
4️⃣ Build Your Personal Brand
🚨 Skip to the end for some high-impact resources on Web3 Security!

Let's explore each step in detail 👇
1️⃣ Start Off By Building Something

• If you're just getting started, read Mastering Ethereum to get familiar with the very basics

• After you’ve picked up some of the basics, build a simple faucet contract
• After you’ve got that down, add meta transactions so users get native tokens without spending any gas

• Now that you’ve mastered the faucet, build something cool that you’re interested in
• Through doing this you’ll get comfortable with common design patterns & grow to understand the common vulnerabilities that we protect against

• After you’ve gotten a grasp on the basics of Solidity development you’re ready to learn more about DeFi
2️⃣ Get Familiar With Common DeFi Primitives

• Learn everything there is to know about Uniswap, Compound, Beefy Finance & more

• Go check out their apps, join the discord, read the docs, talk to the devs
Pro-tip, ⚠️ Not Financial Advice:

• Use & invest in DeFi apps to get addicted to understanding how they work

• I did this & lost a decent amount of money but learned very quickly, up to you
• After you’ve gotten familiar with common DeFi primitives, it’s time to deep dive into web3 security
3️⃣ Deep Dive In Web3 Security

• Read over the corpus of Code4rena findings

• Read the public reports of great audit firms like Dedaub, OpenZeppelin, Guardian, and others
• Get on Twitter, it’s where all the latest alpha is.

• Follow top security researchers & Constantly be on the lookout for new exploits uncovered by the community
• Finally, deep dive into the nitty gritty aspects of Ethereum.

• Learn stuff like the 63/64 rule & the intricacies & risks of delegatecall
This learning process never truly ends.

But once you put in a few dozen hours into strictly Web3 Security, it's time to start growing your personal brand for lasting success in the space.
4️⃣ Build Your Personal Web3 Security Brand

• Your personal brand will allow you to work on cooler projects, connect with more like-minded individuals & make a larger impact on the space
• To build your personal brand, build up a portfolio of your reports & findings

• If you’re competing in an audit contest, wait until the report is released & release your own findings to show off your work
Pro-tip:

• Share all of your learnings with the community, you’ll find that everything you give comes back in multiples over the long term
📝 Resources

Auditor's Handbook & Encyclopedia of Attacks

lab.guardianaudits.com/the-auditors-h…
Collective of Community Knowledge @Web3SecurityDAO

web3securitydao.xyz
Corpus of @code4rena findings

theauditorbook.com
Structured Web3 Security Quizzes from Past Secureum Races (made by @keyrxng)

ghostsofepochspast.xyz
Did this 4 step roadmap help you out?

Check out the full video here & share with other auditors so we can onboard more people into the space!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Owen | Web3Sec

Owen | Web3Sec Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @0xOwenThurm

Mar 4
An organized repeatable auditing system in 60 seconds 🧵
1️⃣ Audit Tags

Be on the lookout for common attack vectors as you do a more granular walk through the codebase.

As you're pulling on a specific thread, stay laser-focused and leave @audit tags for things you notice & want to come back to.
- Note gas optimizations as you go, although they are not a priority

- Create new audit tags to look into with tools like Slither.

- A lot of common findings are simply typos, pay close attention.
Read 11 tweets
Feb 23
🧵 The Design of GMX V2 Explained Simply

Let's dive in 👇
1️⃣ Markets

Traders trade on an index token for a solitary market.

Each market has a backing short token and a backing long token.
The backing tokens are used to pay out the corresponding trade directions in the event that a trader profits.
Read 7 tweets
Feb 21
Sometimes it can be hard to figure out exactly where to begin with a Smart Contract audit, especially if the codebase is large.

Here's how I deal with the initial stage of an audit & what I believe to be the optimal way to begin your audit👇 🧵
1️⃣ Leverage Prior Research & Context

Enumerate all of the different features & use-cases for the smart contract system.
For ex:

If you're auditing a DEX, from prior research & context you know that features may include: swaps with a swapPath, providing liquidity etc...
Read 10 tweets
Jan 28
These 🔟 things will make you a 🔟x auditor, a 🧵
0️⃣ Use tools!

Security tools will drastically decrease your false-negative rate and help you catch things that manual analysis rarely uncovers.

Tools like:

• Slither (static analysis)
• Echidna (fuzzing)
• Manticore (symbolic execution)
• SMTChecker (formal verification)
1️⃣ Follow an auditing process

Conduct your audits with a purpose.

With a distinct organized process, you will be able to repeatedly deliver high-quality audits.

I’ve compiled my exact process into this handbook:
Read 17 tweets
Jan 28
🤯 The clearest, most comprehensive thread on signature malleability of all time!

It’s a hefty claim, I know.

But if you give me the chance, I will not disappoint. ✊

🎩🔮 Allow me to demystify this age-old attack 💫

Let’s hop in 👇
0️⃣ Let’s set some ground rules:

Any tweet that starts off with 🔴 contains in-depth mathematics that is not necessary to understand the attack from a high level.

This info will be useful to understand the inner workings of the concept.
If you just want to understand the concept with a quick & easy explanation, skip over all the 🔴 tweets. 👌

Those of you who want to read them know who you are. 😉
Read 43 tweets
Jan 26
⚠️ Over the past 48 hours I’ve explored a novel gas griefing attack that was previously undocumented ⚠️

In this 🧵 we’ll cover the current idea of gas griefing and then explore this new (IMO more fitting) "gas griefing" exploit.

Strap in! ⛽ 💨
Let’s first start by breaking down the classic idea of "gas griefing".

Then I’ll explain why I believe this new exploit is a better fit for the name.
As defined in SWC-126, "gas griefing" applies when a keeper/relayer executes transactions on a user’s behalf and sends an insufficient amount of gas to execute transaction sub-calls.

swcregistry.io/docs/SWC-126
Read 26 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(