Skip to content

diegofornalha/auditoria-solidity

Repository files navigation

Auditoria Solidity

Eleve sua carreira como auditor de smart contracts.

[IMPORTANTE!] Link do Curso de referência: https://updraft.cyfrin.io/courses/security

  • Website - Junte-se à Cyfrin.
  • Newsletter - Dicas e recursos semanais de pesquisa em segurança para elevar sua carreira
  • Codehawks - Competições de auditoria de smart contracts para ajudar a proteger a web3

Sumário

Introdução, Recursos e Pré-requisitos
  1. Recursos Para Este Curso
  2. Pré-requisitos
  3. Resultado
  4. NFTs Bônus
Grade Curricular
  1. Grade Curricular
🤗 Seção 0: Bem-vindo ao Curso
  1. Bem-vindo
  2. Por que Segurança?
  3. Por que Web3 é tão importante
  4. O Código do Chefe Final, você será capaz de auditá-lo ao final deste curso
  5. Melhores Práticas para este curso
  6. NFT da Seção 0
🐸 Seção 1: Revisão (Não pule)
  1. NFT da Seção 1
❓ Seção 2: O que é uma auditoria de smart contract (Revisão de Segurança)?
  1. O que é uma revisão de segurança/auditoria de smart contract?
  2. Ciclo de Vida do Desenvolvimento de Smart Contract
  3. Principais Auditores de Smart Contract (Subjetivo!)
  4. Ferramentas
  5. Preparação para Auditoria
  6. Mentalidade de Atacante vs. Defensor
  7. Principais Vetores de Ataque
  8. NFT da Seção 2
⛳️ Seção 3: Sua primeira auditoria | Auditoria PasswordStore
  1. Revisão de Segurança > Auditoria
  2. "O Tincho"
  3. Exploits
  4. Exploits: Controles de Acesso
  5. Escrevendo seu primeiro achado
  6. Exploits: Dados Privados
  7. Seu primeiro relatório
  8. NFT da Seção 3
🐶 Seção 4: Análise Manual & Estática | Auditoria Puppy Raffle
  1. Ferramentas: Análise Estática
  2. Escopo & Reconhecimento: Puppy Raffle
  3. Exploits: Reentrância
  4. Exploits: RNG Fraco
  5. Exploits: Problemas Aritméticos
  6. Exploits: DoS (Negação de serviço)
  7. Exploits: Manipulação Inadequada de ETH
  8. Achados Informativos
  9. Auditorias de Gas
  10. Maturidade do Código
  11. Escrevendo o relatório: Puppy Raffle
  12. NFT da Seção 4
🔄 Seção 5: Invariantes & Introdução ao DeFi | Auditoria TSwap
  1. Escopo & Reconhecimento: T-Swap
  2. Introdução ao DeFi/Finanças OnChain
  3. Ferramentas: T-Swap
  4. Exploits: ERC20s Estranhos
  5. Exploits: Quebra de Invariante Principal
  6. Padrões de Design: T-Swap
  7. NFT da Seção 5
🌩️ Seção 6: Centralização, Proxies e Oráculos | Auditoria Thunder Loan
  1. Seção 6: Centralização, Proxies e Oráculos | Auditoria Thunder Loan
  2. Escopo & Reconhecimento: Thunder Loan
  3. Ferramentas: Thunder Loan
  4. Padrões de Design: Thunder Loan
  5. NFT da Seção 6
🌉 Seção 7: Bridges, Chains, Assinaturas, Introdução ao Yul/Assembly | Auditoria Bridge Boss
  1. Seção 7: Bridges, Chains, Assinaturas, Introdução ao Yul/Assembly | Auditoria Bridge Boss
  2. Ferramentas: Boss Bridge
  3. Escopo & Reconhecimento: Boss Bridge
  4. Hacks de Bridge
  5. Padrões de Design: Boss Bridge
  6. NFT da Seção 7
🛡️ Seção 8: (A AUDITORIA DO CHEFE FINAL) MEV, Nodes & DAOs | Auditoria Vault Guardians
  1. Seção 8: (A AUDITORIA DO CHEFE FINAL) MEV, Nodes & DAOs | Auditoria Vault Guardians
  2. Conceitos: Vault Guardians
  3. Introdução ao MEV
  4. Padrões de Design: Vault Guardians
  5. NFT da Seção 8
Primeira Auditoria Competitiva CodeHawks
  1. Primeira Auditoria Competitiva CodeHawks
Parabéns
  1. Parabéns
  2. Para onde vou agora?
  3. Aprendendo Mais
Obrigado
  1. Obrigado
  2. Patrocinadores
  3. Professores Principais / Construtores de Código
  4. Professores Convidados
  5. Agradecimentos Especiais
  6. Mais Conteúdo de Segurança
  7. Enorme Agradecimento Extra

Introdução, Recursos e Pré-requisitos

Acesse o site Cyfrin Updraft para ter a melhor experiência de aprendizado!

Link para o curso: https://updraft.cyfrin.io/courses/security

⚠️ Todo o código associado a este curso é apenas para fins de demonstração. Eles foram auditados, mas não os recomendamos para uso em produção e devem ser usados por sua própria conta e risco.

Recursos Para Este Curso

Junte-se ao Cyfrin Updraft para a melhor experiência de aprendizado!

  • Amigos IA
  • Discussões do Github
    • Faça perguntas e converse sobre o curso aqui!
  • Stack Exchange Ethereum
    • Ótimo lugar para fazer perguntas técnicas sobre Ethereum
  • Peeranha
    • Stack Exchange Descentralizado!
  • Cookbook
    • Um registro de smart contracts e co-piloto

Recursos de Exploit

Registro de Contratos de Desafio

Pré-requisitos

Um entendimento intermediário de solidity. Você não precisa ser um profissional, mas deve estar familiarizado com:

  • Fundamentos de blockchain (transações, blocos, descentralização, etc)
  • Executando uma suíte de testes de smart contract (hardhat, foundry, truffle, etc)
  • Fundamentos de Solidity (variáveis, funções, structs, etc)

Aqui estão alguns recursos para você se atualizar com os pré-requisitos:

  • Curso Completo de Foundry: Isso lhe dará todos os pré-requisitos
  • Speed Run Ethereum: Isso lhe dará a maior parte do que você precisa. Mas você precisará de um pouco mais de tempo em testes invariantes, usando foundry e DeFi/Finanças OnChain.

Ferramentas de pré-requisito

Resultado

  • Ter as habilidades fundamentais para se tornar um auditor profissional de smart contracts
  • Falar, interagir e contribuir com a comunidade de segurança web3
  • Competir em auditorias competitivas web3
  • Competir em bug bounties web3
  • Iniciar uma carreira como auditor independente
  • Se tornar um desenvolvedor de smart contracts top 1%

NFTs Bônus

Notas Importantes para zkSync

SE VOCÊ DECIDIR MINTAR O NFT REAL:

  1. Não auditamos/revisamos a segurança do NFT, então se você quiser ter certeza de que estará seguro, interaja com o contrato usando uma carteira descartável (uma carteira com muito pouco dinheiro que você não usa para mais nada)
    1. Na verdade... Acostume-se a interagir com carteiras a partir de uma carteira descartável
  2. Leia minha thread no Twitter sobre segurança básica de carteira

Fazendo Bridge para zkSync

  1. Não mostramos como levar ETH -> zkSync, mas o processo seria:
    1. Comprar ETH (Em uma exchange como Coinbase ou Kraken)
  2. Enviar ETH -> uma de suas carteiras como:
    1. Safe (Multi-Sig)
    2. Metamask
    3. Frame
    4. Rainbow
    5. Argent
    6. Coinbase Wallet
  3. Usar a Bridge zkSync

Grade Curricular

🤗 Seção 0: Bem-vindo ao Curso

Não pule esta seção!

Bem-vindo

Por que Segurança Web3?

  • Web3 é importante
    • Finanças sem permissão
    • Promessas inquebráveis
  • A segurança Web3 está abaixo do ideal agora
    • Placar Rekt
    • $1B em 2023 (até agora)
    • Hacks Web3 vs Web2. Web2 é principalmente roubo de PII, onde hacks Web3 resultam em perdas irrevogáveis de fundos.
    • Atores maliciosos no espaço. Hackers solitários vs. atores estatais persistentes bem financiados (por exemplo, Coreia do Norte).
  • Oportunidades de carreira

Por que Web3 é tão importante

  • Reconstruir a confiança no ecossistema.

  • Imagem de Faroeste para os outsiders

  • Escolha uma classe

O Código do Chefe Final, você será capaz de auditá-lo ao final deste curso

Melhores Práticas para este curso

  • Registre-se no Cyfrin Updraft
    • USE ESTE SITE!!! Foi feito especificamente para facilitar o aprendizado
  • Siga o repositório: Durante o curso, certifique-se 100% de seguir junto com o repositório github. Se você encontrar algum problema, verifique as atualizações cronológicas no repositório.
  • Seja Ativo na comunidade: Faça perguntas e interaja com outros desenvolvedores que estão fazendo o curso na aba de discussões, certifique-se de ir lá e dizer olá ou gm! Este espaço é diferente das outras indústrias, você não precisa ser secretivo; comunique-se, faça networking e aprenda com os outros :)
  • Aprenda no seu próprio ritmo: Não importa se leva um dia, uma semana, um mês ou até um ano. Progresso >>> Perfeição
  • Faça Pausas: Você vai esgotar sua mente e lembrar menos se assistir todo o curso de uma vez. Estratégia Sugerida a cada 25 minutos faça uma pausa de 5 minutos, e a cada 2 horas faça uma pausa mais longa de 30 minutos
  • Consulte a Documentação: As coisas estão constantemente sendo atualizadas, então sempre que Patrick abrir alguma documentação, abra do seu lado e talvez até tenha o exemplo de código ao seu lado.
  • Use ChatGPT e/ou o chat do curso

E finalmente, ao embarcar nesta jornada, você agora é um "Pesquisador de Segurança", não um "Auditor". A palavra-chave é "Pesquisador", então vamos passar por estratégias para aprendizado contínuo para que você possa se manter no topo do seu jogo.

🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯

Melhores Práticas para este curso

  • Registre-se no Cyfrin Updraft
    • USE ESTE SITE!!! Foi feito especificamente para facilitar o aprendizado
  • Siga o repositório: Durante o curso, certifique-se 100% de seguir junto com o repositório github. Se você encontrar algum problema, verifique as atualizações cronológicas no repositório.
  • Seja Ativo na comunidade: Faça perguntas e interaja com outros desenvolvedores que estão fazendo o curso na aba de discussões, certifique-se de ir lá e dizer olá ou gm! Este espaço é diferente das outras indústrias, você não precisa ser secretivo; comunique-se, faça networking e aprenda com os outros :)
  • Aprenda no seu próprio ritmo: Não importa se leva um dia, uma semana, um mês ou até um ano. Progresso >>> Perfeição
  • Faça Pausas: Você vai esgotar sua mente e lembrar menos se assistir todo o curso de uma vez. Estratégia Sugerida a cada 25 minutos faça uma pausa de 5 minutos, e a cada 2 horas faça uma pausa mais longa de 30 minutos
  • Consulte a Documentação: As coisas estão constantemente sendo atualizadas, então sempre que Patrick abrir alguma documentação, abra do seu lado e talvez até tenha o exemplo de código ao seu lado.
  • Use ChatGPT e/ou o chat do curso

E finalmente, ao embarcar nesta jornada, você agora é um "Pesquisador de Segurança", não um "Auditor". A palavra-chave é "Pesquisador", então vamos passar por estratégias para aprendizado contínuo para que você possa se manter no topo do seu jogo.

🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯

🎯 Exercício: Escreva uma mensagem para você mesmo sobre por que você quer isso

  • Isso será importante quando as coisas ficarem difíceis
  • É dinheiro? Salvar a web3? Se tornar alguém? Escreva quantas razões possíveis.

NFT da Seção 0

🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯🎯

(voltar ao topo) ⬆️

🐸 Seção 1: Revisão (Não pule)

Pré-requisitos de Ferramentas & Ambiente

  • VSCode
  • VSCodium
  • Foundry
    • chisel
    • cast
    • forge
  • Usuários Windows: WSL
  • Assistentes de IA
    • ChatGPT
    • Phind
  • Fóruns & Recursos
    • Ethereum Stack Exchange
    • Peeranha
    • Discussões do Github

Pré-requisitos de Solidity & Smart Contracts

  • Remix
  • Contratos inteligentes básicos
    • forge init

Fuzzing & Fuzzing Stateful (Isso pode ser novo)

  • Testes de Fuzzing
  • Fuzzing Stateless
  • Fuzzing Stateful
  • Invariantes

EIPs/ERCs Comuns

Solidity Avançado

  • storage
    • Clipe do curso foundry
  • Fallback & Receive
  • Encoding, Call, & Staticcall
  • Delegatecall & Proxies
    • Clipe do curso completo foundry
  • tx.origin vs msg.sender
  • Selfdestruct (será removido em um fork futuro)

Foundry Avançado

  • mainnet-forking

🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸

🐸 Exercício:

  1. Entre no Discord CodeHawks/Cyfrin
  2. Vá dar uma caminhada e prepare-se

NFT da Seção 1

🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸

(voltar ao topo) ⬆️

❓ Seção 2: O que é uma auditoria de smart contract (Revisão de Segurança)?

O que é uma revisão de segurança/auditoria de smart contract?

  • Visão Geral
  • As pessoas dizem "auditoria" -> revisão de segurança
  • Não existe bala de prata para auditoria, e elas têm limitações
  • 3 fases de uma revisão de segurança
    • Revisão Inicial
        1. Escopo
        1. Reconhecimento
        1. Identificação de vulnerabilidades
        1. Relatório
    • Correções do Protocolo
        1. Corrige problemas
        1. Retesta e adiciona testes
    • Revisão de Mitigação
        1. Reconhecimento
        1. Identificação de vulnerabilidades
        1. Relatório
  • Planejar & Projetar
  • Desenvolver & Testar
  • Auditoria de Smart Contract & Planejamento Pós-Implantação
  • Implantar
  • Monitorar & Manter
  • Use esta lista para referência de como as principais equipes de segurança fazem revisões, publicam relatórios, fazem pesquisas, etc

Preparação para Auditoria

Ferramentas

  • Análise Estática
    • Slither
    • Aderyn
  • Testes de Fuzzing / Invariantes
    • Foundry
    • Echidna
    • Consensys
  • Verificação Formal
    • Certora
    • Solidity SMT Checker
    • Maat
    • Manticore
  • IA
  • Ferramentas vs Humanos

Mentalidade de Atacante vs. Defensor

  • Aprendendo sempre

Principais Vetores de Ataque

  • Principais vetores de ataque

Top DeFi & Web3 Attack Vectors from the first half of 2024


📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝

📝 Exercício: Inscreva-se em uma newsletter de segurança/web3!

NFT da Seção 2

📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝📝

(voltar ao topo) ⬆️

🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢

Nota Importante: Agora vamos fazer auditorias. Por favor, note que não encontraremos todos os bugs em cada base de código. Cada base de código foi projetada para mostrar um conjunto específico de bugs e dar a você uma boa compreensão de como uma auditoria "se parece".

🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢🟢

⛳️ Seção 3: Sua primeira auditoria (revisão de segurança) | Auditoria PasswordStore


Auditoria de Smart Contract & Revisão de Segurança, PasswordStore


💻 Código da Revisão de Segurança V1: https://sepolia.etherscan.io/address/0x2ecf6ad327776bf966893c96efb24c9747f6694b

💻 Código da Revisão de Segurança V2: https://github.com/Cyfrin/3-passwordstore-audit

💻 Código da Revisão de Segurança V3: https://github.com/Cyfrin/3-passwordstore-audit/tree/onboarded

💻 Revisão de Segurança Final: https://github.com/Cyfrin/3-passwordstore-audit/tree/audit-data

Sinta-se à vontade para olhar adiante e tentar encontrar os bugs na base de código por conta própria, ou familiarizar-se primeiro com o protocolo.

Lembre-se das fases!

🔽🔽🔽🔽🔽🔽🔽🔽🔽🔽

  • Revisão Inicial
      1. Definição de Escopo
      1. Reconhecimento
      1. Identificação de Vulnerabilidades
      1. Relatório

🔼🔼🔼🔼🔼🔼🔼🔼🔼🔼

Para esta demonstração, estamos ignorando as últimas 2 fases

  • Correções do Protocolo
      1. Corrige problemas
      1. Retesta e adiciona testes
  • Revisão de Mitigação
      1. Reconhecimento
      1. Identificação de Vulnerabilidades
      1. Relatório

A Configuração (Definição de Escopo): PasswordStore

V1

V2

  • Integração com o Cliente: Mínima

V3

  • cloc

"O Método Tincho"

Exploits (Identificação de Vulnerabilidades)

Exploits: Controles de Acesso

  • Falta do onlyowner
    • Controles de Acesso
      • Funções sensíveis desprotegidas
      • Má configuração de papéis
      • Escalada de privilégios

Exploits: Dados Privados

  • Armazenando um segredo (dados privados não são privados)

Mais Reconhecimento

  • cobertura

Escrevendo seu primeiro achado

  • Escrever o achado
    • Como escrever um bom achado
    • Título: Causa Raiz + Impacto
    • Layout do Achado:
### [S-#] Título (CAUSA RAIZ + IMPACTO)

**Descrição:**

**Impacto:**

**Prova de Conceito:**

**Mitigação Recomendada:**
  • Escrever PoC
  • Mitigação
  • Usando IA

Terminamos?

Seu primeiro relatório (Relatando)

🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚

🥚 Exercícios:

  1. Cadastre-se no CodeHawks!
  2. Tuíte sobre sua primeira auditoria!

NFT da Seção 3

🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚🥚

(voltar ao topo) ⬆️

🐶 Seção 4: Análise Manual & Estática | Auditoria Puppy Raffle

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅

Esta é a MELHOR revisão de segurança para novos auditores, certifique-se 100% de prestar atenção nesta seção.

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅

Esta é a melhor auditoria/revisão de segurança inicial. Há muitos bugs aqui, alguns óbvios, outros não.


Auditoria & Revisão de Segurança de Smart Contract, Puppy Raffle


💻 Código da Revisão de Segurança: https://github.com/Cyfrin/4-puppy-raffle-audit

Conceitos que você aprenderá: Análise estática, Reentrância, RNG fraco, Problemas aritméticos, Como escrever um relatório com aparência profissional.

Ferramentas: Análise Estática

Escopo & Reconhecimento: Puppy Raffle

Exploits: DoS (Negação de serviço)

  • Correções:
    • Remover loops desnecessários

Exploits: Reentrância

Exploits: RNG Fraco

Exploits: Problemas Aritméticos

Exploits: Manipulação Inadequada de ETH

Achados Informativos

  • Versionamento Estrito do Solc
  • Ataques à Cadeia de Suprimentos
  • Números Mágicos

Auditorias de Gas

Maturidade do Código

  • Cobertura de código

Análise Estática, continuação

O que é uma Auditoria Competitiva?

Escrevendo o relatório: Puppy Raffle

🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀

🧑‍🚀 Exercícios:

  1. Desafios Ethernaut (1, 9 e 10) 🧑‍🚀
  2. Cadastre-se no Solodit
  3. Poste um tweet sobre como você completou a Auditoria Puppy Raffle!
  4. Cadastre-se no farcaster
  5. Faça um CodeHawks First Flight

NFT da Seção 4

🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀🧑‍🚀

(voltar ao topo) ⬆️

🔄 Seção 5: Invariantes & Introdução ao DeFi | Auditoria TSwap


Auditoria & Revisão de Segurança de Smart Contract, T-Swap


💻 Código da Revisão de Segurança: https://github.com/Cyfrin/5-t-swap-audit

Conceitos que você aprenderá: Fuzzing stateful, Fuzzing, Invariantes, FREI-PI/CEII, DeFi Avançado, AMMs, Uniswap, Curve.fi, Fórmula do produto constante

🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑

PARE!

Não olhe os contratos para este!

Vamos mostrar como você pode usar ferramentas avançadas para encontrar ainda mais bugs apenas entendendo adequadamente os invariantes e escrevendo suítes de teste mais efetivas.

🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑🛑

A Configuração (Escopo): T-Swap

  • Integração com o cliente: Extensiva

Reconhecimento: T-Swap

Introdução ao DeFi/Finanças OnChain

Ferramentas: T-Swap

Exploits: ERC20s Estranhos

Exploits: Quebra de Invariante Principal

  • Estudo de Caso:

Padrões de Design: T-Swap

  • FREI-PI / CEII / Verificações Pré & Pós

💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰

💰 Exercícios:

  1. Escreva um teste de fuzzing para encontrar um bug neste desafio
  2. Escreva um thread no Twitter sobre um achado interessante do Solodit

NFT da Seção 5

💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰

🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊

Parabéns!!

Se você chegou até aqui no curso e entende o que está acontecendo, você tem as habilidades para começar a ser pago como pesquisador de segurança, fazendo auditorias competitivas, caça a bugs, ou até mesmo ser contratado!

Mas se você quer se tornar um dos melhores do mundo e realmente proteger a web3, continue...

🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊

(voltar ao topo) ⬆️

🌩️ Seção 6: Centralização, Proxies e Oráculos | Auditoria Thunder Loan


Auditoria & Revisão de Segurança de Smart Contract, Thunder Loan


💻 Código da Revisão de Segurança: https://github.com/Cyfrin/6-thunder-loan-audit

Estamos começando a ficar mais avançados com DeFi e problemas de smart contracts. Aperte os cintos, está esquentando.

Escopo & Reconhecimento: Thunder Loan

DeFi: Empréstimo & Empréstimo

Escopo Malicioso

  • Não seja "yes-man" em toda auditoria

Ferramentas: Thunder Loan

Exploits: Falha na inicialização

Exploits: Colisão de armazenamento

Exploits: Centralização

  • Atualizações Silenciosas
  • Estudo de Caso: Oasis

Exploits: Eventos ausentes

Exploits: Atualização ruim

Exploits: Manipulação de Oráculo & Preço

Padrões de Design: Thunder Loan

  • Pull sobre push

📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦

📦 Exercícios:

  1. YAcademy Proxy
  2. Tuíte sobre como VOCÊ se sente sobre smart contracts atualizáveis

NFT da Seção 6

📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦📦

(voltar ao topo) ⬆️

🌉 Seção 7: Bridges, Chains, Assinaturas, Introdução ao Yul/Assembly | Auditoria Bridge Boss


Auditoria & Revisão de Segurança de Smart Contract, Boss Bridge


💻 Código da Revisão de Segurança: https://github.com/Cyfrin/7-boss-bridge-audit

Ferramentas: Boss Bridge

Escopo & Reconhecimento: Boss Bridge

Exploits: Suporte a Opcode

Exploits: Replay de Assinatura

Exploits: Aprovação de Contrato ERC20

Exploits: Mintagem Ilimitada

Hacks de Bridge

  • Hacks de bridge: Ronin, Poly network, Nomad, Wormhole

Escrevendo o relatório: Boss Bridge

Padrões de Design: Boss Bridge

  • Parada de emergência

💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰

💰 Exercícios:

  1. Desafios Damn Vulnerable DeFi 1, 2, 4
  2. Escreva um thread no Twitter sobre uma descoberta interessante do Solodit
  3. Faça um tweet sobre como você concluiu a auditoria mais difícil até agora!
  4. Leia sobre mais ataques históricos:
    1. Replay de Assinatura
    2. Problemas de assinatura da árvore Merkle
    3. Gasto Duplo Polygon
    4. Hack da Bridge Nomad

NFT da Seção 7

💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰💰

(voltar ao topo) ⬆️

Seção 7.5: MEV & Governança


Smart Contract Audit & Security Review, MEV


Introdução ao MEV

  • MEV Explicado
  • MEV Explicado continuação
  • MEV Tóxico
    • Frontrunning (Antecipação)
    • Ataques Sandwich
  • não-tóxico
    • Backrunning (Execução posterior)
  • Proteção MEV
  • MEV em nossas revisões de segurança anteriores:
    • Puppy:
      • Alguém pode fazer frontrun do selectWinner para solicitar um reembolso
    • T-Swap:
      • A proteção de prazo significa que as pessoas podem fazer um ataque "sandwich"
    • Thunder Loan:
      • Usuários podem fazer frontrun de empréstimos flash para tornar as taxas mais altas ou mais baixas
    • Boss Bridge:
      • Uma transação assinada pode sofrer frontrun para que um atacante envie tokens de uma L2 antes que o assinante possa
  • Proteção contra Slippage

Exploits: Ataque de Governança

  • Mintagem Ilimitada
  • Votação com Flash Loan
  • Estudo de Caso: Beanstalk
  • Atualizações Metamórficas
    • Estudo de Caso: Governança TORN

🛡️ Seção 8: (A AUDITORIA DO CHEFE FINAL) MEV, Nós, & DAOs | Auditoria Vault Guardians


Auditoria de Smart Contract & Revisão de Segurança, Vault Guardians


Esta revisão de segurança é opcional. É MUITO código! Mas se você escolher fazê-la, terá uma ideia melhor de como é uma base de código maior. É importante se sentir confortável ao abordar uma base de código e dizer "Eventualmente vou entender esta base de código, mas agora não entendo"!

💻 Código da Revisão de Segurança: https://github.com/Cyfrin/8-vault-guardians-audit

Conceitos: Vault Guardians

Boa sorte :)

🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅

🦅 Exercícios:

  1. 1ª Auditoria Competitiva CodeHawks
  2. Escreva um thread no Twitter sobre um achado interessante do Solodit
  3. Escreva um blog ou tweet sobre sua experiência!
  4. Leia estas dicas para auditar protocolos multi-chain

NFT da Seção 8

🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅

🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅

Primeira Auditoria Competitiva CodeHawks

  • Como submeter um achado
  • Como decidir a severidade
  • Onde encontrar uma auditoria competitiva

🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅

🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅🦅

(voltar ao topo) ⬆️

🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊 Parabéns!!

Se você chegou até aqui no curso e entende o que está acontecendo, você tem as habilidades para se tornar um dos principais pesquisadores de segurança na web3! Seja como auditor solo, freelancer, auditor competitivo, ou até mesmo ser contratado por uma empresa de primeira linha!

No entanto... se você quer estar na vanguarda e ser capaz de entender cada detalhe da web3, você ainda tem um pouco mais pela frente...

🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊

A Parte 2 foi movida!

Atualização sobre Carteiras, Pós-implantação, Opcodes EVM, Assembly e Verificação Formal

As próximas seções (originalmente chamadas apenas de "parte 2") foram movidas para seus próprios cursos!

Altamente Recomendado

Nós altamente recomendamos fazer estes dois cursos (linkados acima) para que você possa ter um entendimento completo de tudo relacionado à EVM.

(voltar ao topo) ⬆️

Parabéns

🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊 Completou O Curso! 🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊

Se você chegou até aqui... uau.

Para onde vou agora?

Aprendendo Mais

Divulgações

A equipe Cyfrin administra o CodeHawks, Cyfrin Updraft e revisões privadas de segurança. Eles são consultores do projeto Peeranha e operam vários nós blockchain como Chainlink & Ethereum. Além disso, são responsáveis pela criação das ferramentas Aderyn e Solodit.

Obrigado

Patrocinadores

Professores Principais / Desenvolvedores do Código

Professores Convidados

Agradecimentos especiais

Mais Conteúdo de Segurança

Patrocinadores

Muito obrigado aos nossos patrocinadores/doadores!!

Um ENORME Agradecimento Extra

Obrigado a todos que estão fazendo, participando e trabalhando neste curso. Estes cursos são projetos de paixão que compartilham conhecimento para todos no ecossistema web3.

Vamos evoluir para manter a web3 mais segura, e obrigado novamente por fazer este curso!

Cyfrin Twitter Cyfrin YouTube

(voltar ao topo) ⬆️

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published