
إطار لتدقيق أنظمة البلوكشين، وتحديد ثغرات العقود الذكية، وتوليد نتائج منظمة مع قوالب تقارير متعددة المنصات لمدققي الأمن.
Raptor هو إطار عمل لتدقيق النظام البيئي للبلوكشين (العقود، البروتوكولات، إلخ).
يوفر Raptor أساليب وأدوات منظمة لتحديد الثغرات الأمنية في العقود الذكية وبروتوكولات البلوكشين. يساعد الإطار مدققي الأمان على توثيق النتائج بشكل متسق وإنشاء تقارير لمنصات تدقيق متعددة.
# 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
ثم أعد تشغيل شاشتك أو نفذ:
source ~/.bashrc # or ~/.zshrc for zsh
تحقق من التثبيت:
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 إنشاء تقارير لمنصات تدقيق متعددة:
لكل منصة متطلبات تنسيق محددة. يخزن Raptor النتائج بتنسيق JSON مهيكل ويحولها إلى تنسيق ماركداون المناسب لكل منصة.
مواقع القوالب:
~/.raptor/schemas/reports/<project>/audits/reports/.templates/raptor.tomlراجع CONFIGURATION.md لإضافة تنسيقات تقارير مخصصة.
يوفر Raptor واجهة سطر أوامر لإدارة مشاريع التدقيق:
# 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
الميزات الرئيسية:
--git-url أو إدارتها بأوامر raptor gitيدعم Raptor بنية إضافات قابلة للتوسع مع إدارة تلقائية للتبعيات ودعم الإصدارات المتعددة.
# 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 بتثبيت إصدارات متعددة من نفس الإضافة جنبًا إلى جنب:
# 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
يتم تتبع الإضافات المثبتة في .plugins.lock الذي يسجل:
أضف الإضافات إلى 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"
قيود الإصدار:
"1.0.0" أو "@1.0.0" - إصدار محدد">=1.0.0" - إصدار أدنى">1.0.0" - أكبر من إصدار"<=2.0.0" - إصدار أقصى"<2.0.0" - أقل من إصدارraptor init my-auditraptor git add https://github.com/user/repo.gitraptor finding --new "العنوان" --severity HIGHraptor report --format sherlock code4renaراجع CONFIGURATION.md للحصول على دليل إعدادات مفصل.
يرجى قراءة دليل المساهمة.
يرجى التحلي بالاحترام والمهنية في جميع التفاعلات. نحن جميعًا هنا لنتعلم ونحسّن المشروع معًا.
مرخص بموجب أحد رخصة Apache، الإصدار 2.0 أو رخصة MIT حسب اختيارك.
ما لم تذكر صراحة خلاف ذلك، فإن أي مساهمة تُقدم عمدًا لإدراجها في هذه الحِزم من قبلك، كما هو محدد في ترخيص Apache-2.0، ستكون مرخصة بشكل مزدوج كما هو مذكور أعلاه، دون أي شروط أو أحكام إضافية.
هذا الإطار مخصص للأغراض التعليمية واختبار الأمان المصرح به فقط. احصل دائمًا على التفويض المناسب قبل إجراء عمليات تدقيق الأمان.