Pular para o conteúdo
Skillpedia
Segurança35 mil · #5516

auditing-foundry-smart-contract-security

Ensina seu agente de IA a proteger aplicações contra ataques e colocar projetos no ar e cuidar da infraestrutura.

O que ela faz

Esta ferramenta verifica a segurança de contratos inteligentes escritos em Solidity antes de serem lançados. Ela usa várias técnicas para encontrar bugs comuns, como roubo de fundos (reentrância) ou controle de acesso quebrado, garantindo que o código esteja seguro antes de ir para a rede.

Quando usar

  • ✓Antes de lançar um contrato em qualquer rede (testnet ou mainnet).
  • ✓Ao trabalhar em projetos Foundry que lidam com valores (dinheiro, tokens).
  • ✓Ao configurar o processo de lançamento para garantir que chaves secretas não sejam expostas.

Exemplo do que pedir para a IA

“Verifique a segurança deste contrato inteligente antes de implantá-lo na rede principal.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/auditing-foundry-smart-contract-security/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/auditing-foundry-smart-contract-security/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta combina análise de código estático, execução simbólica e testes automatizados para simular diferentes cenários. Ela também verifica se chaves secretas estão protegidas e não expostas em texto plano.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill auditing-foundry-smart-contract-security

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/auditing-foundry-smart-contract-security/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Auditoria de Segurança de Smart Contracts Foundry

Visão Geral

Smart contracts implantados são imutáveis e custodiam fundos reais, então um bug enviado para a mainnet não pode ser corrigido — ele só pode ser explorado. A maioria das perdas catastróficas em DeFi vem de um pequeno conjunto de classes recorrentes: reentrância, controle de acesso quebrado, manipulação de oráculo/preço e aritmética ou chamadas externas não verificadas.

Esta habilidade executa uma auditoria de defesa em profundidade, pré-implantação de um projeto Foundry, camadas de quatro técnicas independentes que cada uma detecta o que as outras perdem:

  1. Análise estática — slither (mais de 90 detectores) e aderyn (Cyfrin, Rust) escaneiam o AST/IR em segundos em busca de anti-padrões conhecidos.
  2. Execução simbólica — mythril (opcional, lento) explora caminhos de execução e resolve SMT para bugs profundos de aritmética/reentrância.
  3. Testes baseados em propriedades — forge test com fuzzing (testFuzz_*) e testes de invariantes (invariant_* + contratos manipuladores com variáveis fantasma) comprova que as propriedades do nível do protocolo se mantêm em milhões de sequências aleatórias.
  4. Revisão manual + higiene de chaves — um checklist estruturado (veja references/vulnerability-checklist.md) e uma auditoria de segredos/keystore para que nenhuma chave privada esteja em texto plano e a implantação passe por um cast keystore criptografado (veja references/secure-deployment-and-keys.md).

A habilidade é do lado do desenvolvedor e pré-implantação — é executada pelo engenheiro que constrói o contrato, não por um SOC após um incidente. Descobertas bloqueiam a implantação: qualquer achado estático alto/crítico, teste falhando, chave vazada ou baixa cobertura = FALHA.

Quando Usar

  • Antes de implantar qualquer contrato Solidity em uma testnet ou mainnet EVM chain.
  • Ao escrever ou revisar um projeto Foundry (foundry.toml, src/, test/, script/).
  • Quando um contrato lida com valor: tokens (ERC-20/721/1155), cofres, staking, AMMs, pontes, governança.
  • Ao adicionar testes de fuzz ou invariantes, ou quando a cobertura de funções que movem valor é desconhecida.
  • Ao configurar scripts de implantação — para verificar se as chaves estão em um keystore criptografado, não em .env texto plano.
  • Ao integrar um oráculo de preço, chamada externa, delegatecall ou proxy atualizável.
  • Ao triar um relatório Slither/Aderyn e precisar separar bugs reais de falsos positivos.

Pré-requisitos

  • Foundry instalado (forge, cast, anvil): curl -L https://foundry.paradigm.xyz | bash && foundryup
  • Slither + solc: pip install slither-analyzer e solc-select install <ver> && solc-select use <ver>
  • Aderyn (recomendado): cargo install aderyn (ou npm i -g @cyfrin/aderyn)
  • Mythril (opcional, execução simbólica lenta): pip install mythril
  • gitleaks (escaneamento de vazamento de chaves): veja a habilidade complementar implementing-secret-scanning-with-gitleaks
  • Um projeto Foundry que compila (forge build bem-sucedido) — os analisadores precisam de artefatos de compilação.
  • Solidity ^0.8.x é assumido (verificações de overflow embutidas); contratos pré-0.8 precisam de revisão extra de SafeMath.

Instale as ferramentas Python em um virtualenv (recomendado em distribuições gerenciadas externamente). Nunca execute análises contra código-fonte de contrato não confiável em uma máquina com carteiras financiadas desbloqueadas.

Passos

Passo 1: Construir e verificar o projeto

forge build                    # analyzers require fresh artifacts
forge fmt --check              # style gate (optional)
cat foundry.toml               # note solc version, optimizer, remappings, evm_version

Passo 2: Análise estática (rápida, executada sempre)

# Slither — full project (uses foundry.toml + remappings automatically)
slither . --json slither-report.json

# Aderyn — Cyfrin Rust analyzer, complementary detectors
aderyn . -o aderyn-report.json

Ou execute o orquestrador empacotado que executa ambos, deduplica e bloqueia o resultado:

python3 scripts/agent.py --project . --output audit-report.json

Passo 3: Execução simbólica em contratos críticos (opcional, lento)

# Only on the highest-value contract(s) — Mythril is path-explosive
myth analyze src/Vault.sol --solc-json mythril.config.json --execution-timeout 300 -o json
# or: python3 scripts/agent.py --project . --mythril src/Vault.sol

Passo 4: Testes baseados em propriedades — fuzz + invariantes

forge test -vvv                                  # unit + fuzz tests
forge coverage --report summary                  # coverage of value-moving code
forge test --match-test invariant_ -vvv          # invariant suite (handler-based)

…

Perguntas frequentes

O que são contratos inteligentes?

São programas que rodam em uma blockchain. Eles executam automaticamente ações quando certas condições são atendidas, como transferir dinheiro ou tokens.

Por que a segurança é importante antes de lançar?

Uma vez que um contrato é lançado na blockchain, ele geralmente não pode ser alterado. Se houver um bug, ele pode ser explorado por hackers, levando à perda de fundos.

O que é Foundry?

Foundry é um conjunto de ferramentas para desenvolvedores que criam contratos inteligentes em Ethereum. Ele ajuda a escrever, testar e lançar esses contratos.

Detalhes

Descrição original do autor

Pre-deployment security audit of Solidity smart contracts in a Foundry project. Combines static analysis (Slither, Aderyn), symbolic execution (Mythril), and property-based testing (forge fuzz + invariant tests with handlers) to catch reentrancy, access-control, oracle/price manipulation, and arithmetic bugs BEFORE deploying to an EVM chain. Also enforces key hygiene (no plaintext private keys, en

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5516
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas