smart-contract-formal-verification
Permite que seu agente verifique a segurança de contratos inteligentes. Ele analisa regras de transição de estado e propriedades para garantir a robustez.
O que ela faz
Esta ferramenta ajuda a garantir que contratos inteligentes (programas que rodam em blockchain) funcionem exatamente como esperado, usando testes matemáticos rigorosos para encontrar possíveis falhas de segurança antes que eles sejam usados.
Quando usar
- ✓Ao criar regras de segurança para um novo contrato.
- ✓Quando auditores e desenvolvedores precisam revisar um contrato juntos.
- ✓Para gerar relatórios que mostram se um contrato está seguro.
Exemplo do que pedir para a IA
“Como posso verificar se meu contrato de negociação de criptomoedas é seguro contra hackers?”
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
Ela define as regras de funcionamento do contrato, aplica testes matemáticos para ver se essas regras são sempre seguidas e gera relatórios sobre a segurança. Isso ajuda a encontrar problemas antes que o contrato seja colocado em uso.
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 sickn33/agentic-awesome-skills --skill smart-contract-formal-verificationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/smart-contract-formal-verification/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.
Verificação Formal de Contratos Inteligentes
O que é: Aplica provas rigorosas de invariantes matemáticos, motores de execução simbólica e testes de fuzz baseados em propriedades para verificar a segurança de contratos inteligentes.
Visão Geral
Fornece um framework padronizado e auditável, além de um modelo de dados para operações de Verificação Formal de Contratos Inteligentes em sistemas de engenharia distribuída e aplicações descentralizadas.
Quando Usar Esta Habilidade
- Ao formalizar contratos de arquitetura, invariantes de segurança ou limites operacionais para Verificação Formal de Contratos Inteligentes.
- Quando for necessária uma revisão multifuncional entre desenvolvedores de protocolo, auditores de contratos inteligentes e agentes de engenharia de IA.
- Ao gerar registros de propriedades reproduzíveis em CSV, SQL DDL, JSON Schema e Notion para rastrear a conformidade.
Como Funciona
- Defina os parâmetros, limites e vinculações de identidade necessários para o registro operacional alvo.
- Selecione os valores apropriados de aplicação de limites a partir de conjuntos de seleção de enum validados.
- Exporte artefatos padronizados (tabela CSV, SQL DDL, JSON Schema) para integrar em pipelines de CI de validação.
Referência de Campos
| # | Nome do Campo | Tipo | Tipo SQL | Tipo JSON Schema | Tipo de Propriedade Notion | Valor de Exemplo |
|---|---|---|---|---|---|---|
| 1 | ID da Especificação Formal | id |
SERIAL PRIMARY KEY |
integer |
Texto | SPEC-001 |
| 2 | Módulo do Contrato Alvo | text |
VARCHAR(64) |
string |
Texto | vault_liquidity_engine |
| 3 | Propriedade de Transição de Estado | text |
VARCHAR(128) |
string |
Texto | Total Assets Equals Sum of Shares |
| 4 | Método de Verificação | select |
VARCHAR(64) |
string |
Seleção | Foundry Invariant Fuzzing |
| 5 | Contagem de Execuções de Fuzz | number |
INTEGER |
number |
Número | 100000 |
| 6 | Motor de Execução Simbólica | select |
VARCHAR(32) |
string |
Seleção | Certora Prover |
| 7 | Contraexemplo Descoberto | select |
VARCHAR(16) |
string |
Seleção | No |
| 8 | Teorema Matemático Provado | select |
VARCHAR(16) |
string |
Seleção | Yes |
| 9 | Tolerância à Violação de Invariante | currency |
NUMERIC(14,2) |
number |
Número | 0.00 |
| 10 | Status da Verificação Formal | select |
VARCHAR(32) |
string |
Seleção | Formally Verified |
| 11 | Data de Geração da Prova | date |
DATE |
string, format: date |
Data | 2026-10-01 |
Opções de Seleção
Método de Verificação
Foundry Invariant Fuzzing | Halmos Symbolic Execution | Certora Rule Prover | SMT Solver
Motor de Execução Simbólica
Certora Prover | Halmos | Z3 SMT | None (Fuzzing Only)
Contraexemplo Descoberto
Yes | No
Teorema Matemático Provado
Yes | No
Status da Verificação Formal
Formally Verified | Violations Found | Proof In Progress
Relações
Audit Reference-> vincula à documentação de revisão formal ou ao repositório de testes.Target Architecture-> vincula ao contrato implantado ou ao componente de tempo de execução do agente autônomo.
Exemplos
Prompt
How do I configure and track Smart Contract Formal Verification for our production environment?
Próximo Passo Recomendado
Gere o esquema de campos unificado, a migração SQL DDL e o esquema de validação JSON para registrar em seu catálogo de sistema.
Fluxo de trabalho: Defina critérios -> Execute verificação automatizada -> Registre linha de base -> Monitore invariantes.
Melhores Práticas
- Aplique tipagem rigorosa em limites numéricos e valores de moeda; evite campos de texto livre não estruturados para estados críticos.
- Reexecute suítes de teste de validação a cada commit que altera o estado ou alteração de parâmetro.
- Mantenha os dados de exemplo sintéticos e isolados de chaves criptográficas de produção ou endpoints privados.
Limitações
- Fornece especificações arquiteturais, modelos de dados e esquemas de verificação; não executa assinatura direta de transações sem ferramentas externas autorizadas.
- Requer conectividade de rede e credenciais RPC válidas ao consultar estados on-chain.
Notas de Segurança e Proteção
- Todos os parâmetros declaram
risk: safe. Nenhuma modificação de estado não autorizada ou acesso a credenciais privilegiadas é realizada. - Use chaves fictícias sintéticas e endereços simulados em suítes de teste e scripts de verificação local.
Armadilhas Comuns
- Problema: Precisão decimal incompatível entre o tempo de execução do contrato e o registro do banco de dados. Solução: Sempre verifique os decimais usando o mapeamento explícito de campos nesta referência.
- Problema: Falta de verificações de autorização antes da atualização do estado.
…
Perguntas frequentes
O que são 'invariantes'?
São regras que devem ser sempre verdadeiras para o contrato, como 'o dinheiro total na conta nunca pode diminuir sozinho'.
O que é 'execução simbólica'?
É uma forma de testar o contrato com valores genéricos para ver todos os caminhos possíveis que ele pode seguir e se algum deles leva a um erro.
Essa ferramenta pode consertar meu contrato?
Não, ela identifica problemas de segurança. O conserto precisa ser feito pelos desenvolvedores do contrato.
Detalhes
Descrição original do autor
Foundry and Soroban formal invariant verification register: state transition rules, boundary invariant properties, and symbolic execution checks.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4198
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-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