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
Mensagem pronta para colar
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-securityOu 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.mdConteú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:
- Análise estática —
slither(mais de 90 detectores) eaderyn(Cyfrin, Rust) escaneiam o AST/IR em segundos em busca de anti-padrões conhecidos. - Execução simbólica —
mythril(opcional, lento) explora caminhos de execução e resolve SMT para bugs profundos de aritmética/reentrância. - Testes baseados em propriedades —
forge testcom 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. - 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 umcastkeystore criptografado (vejareferences/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
.envtexto plano. - Ao integrar um oráculo de preço, chamada externa,
delegatecallou 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-analyzeresolc-select install <ver> && solc-select use <ver> - Aderyn (recomendado):
cargo install aderyn(ounpm 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 buildbem-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
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5516
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC