
Marco de trabajo para auditar ecosistemas blockchain, identificar vulnerabilidades en contratos inteligentes y generar hallazgos estructurados con plantillas de informes multiplataforma para auditores de seguridad.
Raptor es un framework para auditar el ecosistema blockchain (contratos, protocolos, etc.).
Raptor proporciona enfoques estructurados y herramientas para identificar vulnerabilidades de seguridad en contratos inteligentes y protocolos blockchain. El framework ayuda a los auditores a documentar hallazgos de manera consistente y generar informes para múltiples plataformas de auditoría.
# 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
Luego reinicia tu terminal o ejecuta:
source ~/.bashrc # or ~/.zshrc for zsh
Verifica la instalación:
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
Raptor soporta la generación de informes para múltiples plataformas de auditoría:
Cada plataforma tiene requisitos de formato específicos. Raptor almacena los hallazgos en un formato JSON estructurado y los transforma al formato markdown apropiado para cada plataforma.
Ubicaciones de las plantillas:
~/.raptor/schemas/reports/<project>/audits/reports/.templates/raptor.tomlConsulta CONFIGURATION.md para agregar formatos de informe personalizados.
Raptor proporciona una interfaz de línea de comandos para gestionar proyectos de auditoría:
# 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
Características principales:
--git-url o adminístralos con comandos raptor git--depth 1 para descargas más rápidasRaptor soporta una arquitectura extensible de plugins con gestión automática de dependencias y soporte para múltiples versiones.
# 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
Raptor permite que múltiples versiones del mismo plugin se instalen juntas:
# 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
Los plugins instalados se rastrean en .plugins.lock que registra:
Agrega plugins a 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"
Restricciones de versión:
"1.0.0" o "@1.0.0" - Versión exacta">=1.0.0" - Versión mínima">1.0.0" - Mayor que la versión"<=2.0.0" - Versión máxima"<2.0.0" - Menor que la versiónraptor init my-auditraptor git add https://github.com/user/repo.gitraptor finding --new "Title" --severity HIGHraptor report --format sherlock code4renaConsulta CONFIGURATION.md para una guía detallada de configuración.
Por favor, lee nuestra Guía de Contribución.
Por favor, sé respetuoso y profesional en todas las interacciones. Todos estamos aquí para aprender y mejorar el proyecto juntos.
Licenciado bajo Apache License, Versión 2.0 o MIT License a tu elección.
A menos que indiques explícitamente lo contrario, cualquier contribución que envíes intencionalmente para ser incluida en estos crates, según lo definido en la licencia Apache-2.0, se licenciará bajo doble licencia como se indica arriba, sin términos ni condiciones adicionales.
Este framework es solo para fines educativos y de pruebas de seguridad autorizadas. Siempre obtén la autorización adecuada antes de realizar auditorías de seguridad.