
Cadre d'audit des écosystèmes blockchain, d'identification des vulnérabilités des contrats intelligents et de génération de conclusions structurées avec des modèles de rapports multiplateformes pour les auditeurs de sécurité.
Raptor est un framework pour auditer l'écosystème blockchain (contrats, protocoles, etc.).
Raptor fournit des approches et outils structurés pour identifier les vulnérabilités de sécurité dans les smart contracts et les protocoles blockchain. Le framework aide les auditeurs à documenter les résultats de manière cohérente et à générer des rapports pour plusieurs plateformes d'audit.
# 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
Redémarrez ensuite votre shell ou exécutez :
source ~/.bashrc # or ~/.zshrc for zsh
Vérifiez l'installation :
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 prend en charge la génération de rapports pour plusieurs plateformes d'audit :
Chaque plateforme a des exigences de formatage spécifiques. Raptor stocke les findings dans un format JSON structuré et les transforme au format Markdown approprié pour chaque plateforme.
Emplacements des modèles :
~/.raptor/schemas/reports/<project>/audits/reports/.templates/raptor.tomlVoir CONFIGURATION.md pour ajouter des formats de rapports personnalisés.
Raptor fournit une interface en ligne de commande pour gérer les projets d'audit :
# 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
Fonctionnalités clés :
--git-url ou gérez-les avec les commandes raptor git--depth 1 pour des téléchargements plus rapidesRaptor supporte une architecture de plugins extensible avec gestion automatique des dépendances et support multi-versions.
# 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 permet d'installer plusieurs versions du même plugin côte à côte :
# 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
Les plugins installés sont suivis dans .plugins.lock qui enregistre :
Ajoutez des plugins dans 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"
Contraintes de version :
"1.0.0" ou "@1.0.0" - Version exacte">=1.0.0" - Version minimale">1.0.0" - Supérieure à la version"<=2.0.0" - Version maximale"<2.0.0" - Inférieure à la versionraptor init mon-auditraptor git add https://github.com/utilisateur/repo.gitraptor finding --new "Titre" --severity HIGHraptor report --format sherlock code4renaVoir CONFIGURATION.md pour un guide de configuration détaillé.
Veuillez lire notre Guide de contribution.
Veuillez être respectueux et professionnel dans toutes les interactions. Nous sommes tous ici pour apprendre et améliorer le projet ensemble.
Sous licence Apache License, Version 2.0 ou MIT License à votre choix.
Sauf indication contraire explicite, toute contribution soumise intentionnellement pour inclusion dans ces crates par vous, telle que définie dans la licence Apache-2.0, sera sous double licence comme ci-dessus, sans conditions ou termes supplémentaires.
Ce framework est destiné à des fins éducatives et de tests de sécurité autorisés uniquement. Obtenez toujours une autorisation appropriée avant de mener des audits de sécurité.