
Framework para auditoria de ecossistemas blockchain, identificação de vulnerabilidades em contratos inteligentes e geração de descobertas estruturadas com modelos de relatório multiplataforma para auditores de segurança.
Raptor é um framework para auditoria do ecossistema blockchain (contratos, protocolos, etc.).
O Raptor fornece abordagens e ferramentas estruturadas para identificar vulnerabilidades de segurança em contratos inteligentes e protocolos blockchain. O framework ajuda auditores a documentar descobertas de forma consistente e gerar relatórios para múltiplas plataformas de auditoria.
# Install latest stable version (recommended)
curl -sSL https://raw.githubusercontent.com/calvin-kimani/raptor/main/install.sh | bash
# Install specific version
curl -sSL https://raw.githubusercontent.com/calvin-kimani/raptor/main/install.sh | bash -s -- v0.1.0
curl -sSL https://raw.githubusercontent.com/calvin-kimani/raptor/main/install.sh | bash -s -- 0.1.0
# Latest stable
git clone https://github.com/calvin-kimani/raptor.git /tmp/raptor-install
bash /tmp/raptor-install/install.sh
rm -rf /tmp/raptor-install
# Specific version
git clone https://github.com/calvin-kimani/raptor.git /tmp/raptor-install
bash /tmp/raptor-install/install.sh v0.1.5
rm -rf /tmp/raptor-install
Em seguida, reinicie seu shell ou execute:
source ~/.bashrc # ou ~/.zshrc para zsh
Verifique a instalação:
raptor --version
# Update to latest stable version
raptor update
# Update to specific version
raptor update v0.2.5
raptor update 0.2.5
# Upgrade to latest major version
raptor upgrade
# Upgrade to specific major version
raptor upgrade v1.0.0
# Downgrade to previous version
raptor downgrade v0.1.0
# List all available versions
raptor version --list
# Show current version
raptor version --current
raptor --version
raptor/
├── bin/ # CLI executables and modules
│ ├── raptor # Main Raptor CLI executable
│ └── cli/ # CLI module code
│ ├── __init__.py # Version info
│ ├── config.py # Configuration management
│ ├── finding.py # Finding management
│ ├── git.py # Git repository management
│ ├── init.py # Project initialization
│ ├── plugin_lock.py # Plugin lock file management
│ ├── plugin_manager.py # Plugin discovery and installation
│ ├── raptor.py # Main CLI logic
│ ├── report.py # Report generation
│ ├── update.py # Version management
│ └── version_utils.py # Version parsing and comparison
├── scripts/ # Custom user scripts directory
├── schemas/ # Report templates and finding schemas
│ ├── reports/
│ │ ├── sherlock-report.yml # Sherlock format template
│ │ ├── code4rena-report.yml # Code4rena format template
│ │ └── codehawks-report.yml # CodeHawks format template
│ └── findings/
│ └── finding-schema.json # JSON schema for findings
├── CONFIGURATION.md # Configuration guide
├── CONTRIBUTING.md # Contribution guidelines
├── install.sh # Installation script
├── raptor.toml # Framework configuration
└── README.md # This file
O Raptor suporta a geração de relatórios para múltiplas plataformas de auditoria:
Cada plataforma possui requisitos de formatação específicos. O Raptor armazena descobertas em um formato JSON estruturado e as transforma no formato markdown apropriado para cada plataforma.
Locais dos modelos:
~/.raptor/schemas/reports/<project>/audits/reports/.templates/raptor.tomlConsulte CONFIGURATION.md para adicionar formatos de relatório personalizados.
O Raptor fornece uma interface de linha de comando para gerenciar projetos de auditoria:
# Initialize a new audit project
raptor init my-audit
# Force overwrite existing directory
raptor init my-audit --force
# Clone repositories during init (shallow by default)
raptor init --git-url https://github.com/user/repo.git
# Clone multiple repos with full commit history
raptor init --git-url URL1 URL2 --commit
# Add repositories to existing project (shallow by default)
raptor git add https://github.com/user/repo.git
# Add multiple repos with full history
raptor git add URL1 URL2 --commit
# List all repositories in src/
raptor git list
# Update all repositories
raptor git update
# Update specific repositories
raptor git update repo1 repo2
# Remove repositories
raptor git remove repo-name
# Create a new finding (stored as JSON)
raptor finding --new "Attacker will drain funds from stakers" --severity HIGH
# Create finding and immediately generate reports
raptor finding --new "Reentrancy in withdraw" --severity CRITICAL --report sherlock code4rena
# Generate reports for all findings (default: sherlock format)
raptor report
# Generate reports in specific formats
raptor report --format sherlock code4rena codehawks
# Generate report for specific finding
raptor report --format sherlock --finding HIGH-reentrancy-attack
Principais Funcionalidades:
--git-url ou gerencie-os com comandos raptor git--depth 1 para downloads mais rápidosO Raptor suporta uma arquitetura de plugins extensível com gerenciamento automático de dependências e suporte a múltiplas versões.
# List all available plugins
raptor plugins list
raptor plugins -l
# Install plugin to project (.plugins/)
raptor plugins install solidity-parser
# Install plugin globally (~/.raptor/bin/cli/plugins/)
raptor plugins install solidity-parser --global
raptor plugins -i solidity-parser -g
# Install multiple plugins
raptor plugins install parser-plugin graph-plugin
# Force reinstall
raptor plugins install solidity-parser --force
raptor plugins -i solidity-parser -f
# Check plugin status
raptor plugins status solidity-parser
O Raptor permite que múltiplas versões do mesmo plugin sejam instaladas lado a lado:
# First installation (becomes active version)
raptor plugins install solidity-parser
# Installs to: .plugins/solidity-parser/1.0.0/
# Install different version (previous remains active)
raptor plugins install solidity-parser
# Installs to: .plugins/solidity-parser/1.1.0/
# List shows all versions
raptor plugins list
# Output:
# solidity-parser [Project] v1.0.0 (2 versions)
# Versions: v1.0.0*, v1.1.0
# Switch active version
raptor plugins switch solidity-parser 1.1.0
# Output: ✓ Switched 'solidity-parser' from v1.0.0 to v1.1.0
Os plugins instalados são rastreados em .plugins.lock, que registra:
Adicione plugins ao raptor.toml:
[plugins.my-plugin]
url = "https://raw.githubusercontent.com/user/repo/main/plugin/install.py"
version = ">=1.0.0" # Optional version constraint
description = "My custom plugin"
# Or use local path
[plugins.local-plugin]
url = "/path/to/plugin"
# or relative path
url = "../my-plugins/analyzer"
Restrições de Versão:
"1.0.0" ou "@1.0.0" - Versão exata">=1.0.0" - Versão mínima">1.0.0" - Maior que a versão"<=2.0.0" - Versão máxima"<2.0.0" - Menor que a versãoraptor init my-auditraptor git add https://github.com/user/repo.gitraptor finding --new "Title" --severity HIGHraptor report --format sherlock code4renaConsulte CONFIGURATION.md para um guia detalhado de configuração.
Por favor, leia nosso Guia de Contribuição.
Seja respeitoso e profissional em todas as interações. Estamos todos aqui para aprender e melhorar o projeto juntos.
Licenciado sob Apache License, Versão 2.0 ou MIT License à sua escolha.
A menos que você declare explicitamente o contrário, qualquer contribuição intencionalmente submetida para inclusão nestas crates por você, conforme definido na licença Apache-2.0, será licenciada duplamente como acima, sem quaisquer termos ou condições adicionais.
Este framework é destinado apenas para fins educacionais e de teste de segurança autorizado. Sempre obtenha a devida autorização antes de realizar auditorias de segurança.