
ब्लॉकचेन पारिस्थितिक तंत्रों के ऑडिट, स्मार्ट कॉन्ट्रैक्ट कमजोरियों की पहचान और सुरक्षा ऑडिटरों के लिए बहु-प्लेटफॉर्म रिपोर्ट टेम्पलेट्स के साथ संरचित निष्कर्ष उत्पन्न करने हेतु फ्रेमवर्क।
Raptor ब्लॉकचेन इकोसिस्टम (कॉन्ट्रैक्ट, प्रोटोकॉल आदि) के ऑडिटिंग के लिए एक फ्रेमवर्क है।
Raptor स्मार्ट कॉन्ट्रैक्ट और ब्लॉकचेन प्रोटोकॉल में सुरक्षा कमज़ोरियों की पहचान करने के लिए संरचित दृष्टिकोण और उपकरण प्रदान करता है। यह फ्रेमवर्क ऑडिटर्स को निष्कर्षों को लगातार दस्तावेज़ित करने और कई ऑडिट प्लेटफार्मों के लिए रिपोर्ट तैयार करने में मदद करता है।
# नवीनतम स्थिर संस्करण स्थापित करें (अनुशंसित)
curl -sSL https://raw.githubusercontent.com/calvin-kimani/raptor/main/install.sh | bash
# विशिष्ट संस्करण स्थापित करें
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
# नवीनतम स्थिर
git clone https://github.com/calvin-kimani/raptor.git /tmp/raptor-install
bash /tmp/raptor-install/install.sh
rm -rf /tmp/raptor-install
# विशिष्ट संस्करण
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 # या ~/.zshrc zsh के लिए
स्थापना सत्यापित करें:
raptor --version
# नवीनतम स्थिर संस्करण में अपडेट करें
raptor update
# विशिष्ट संस्करण में अपडेट करें
raptor update v0.2.5
raptor update 0.2.5
# नवीनतम प्रमुख संस्करण में अपग्रेड करें
raptor upgrade
# विशिष्ट प्रमुख संस्करण में अपग्रेड करें
raptor upgrade v1.0.0
# पिछले संस्करण में डाउनग्रेड करें
raptor downgrade v0.1.0
# सभी उपलब्ध संस्करणों की सूची देखें
raptor version --list
# वर्तमान संस्करण दिखाएँ
raptor version --current
raptor --version
raptor/
├── bin/ # CLI निष्पादन योग्य और मॉड्यूल
│ ├── raptor # मुख्य Raptor CLI निष्पादन योग्य
│ └── cli/ # CLI मॉड्यूल कोड
│ ├── __init__.py # संस्करण जानकारी
│ ├── config.py # कॉन्फ़िगरेशन प्रबंधन
│ ├── finding.py # निष्कर्ष प्रबंधन
│ ├── git.py # Git रिपॉजिटरी प्रबंधन
│ ├── init.py # प्रोजेक्ट आरंभीकरण
│ ├── plugin_lock.py # प्लगइन लॉक फ़ाइल प्रबंधन
│ ├── plugin_manager.py # प्लगइन खोज और स्थापना
│ ├── raptor.py # मुख्य CLI तर्क
│ ├── report.py # रिपोर्ट निर्माण
│ ├── update.py # संस्करण प्रबंधन
│ └── version_utils.py # संस्करण पार्सिंग और तुलना
├── scripts/ # कस्टम उपयोगकर्ता स्क्रिप्ट निर्देशिका
├── schemas/ # रिपोर्ट टेम्पलेट और निष्कर्ष स्कीमा
│ ├── reports/
│ │ ├── sherlock-report.yml # Sherlock प्रारूप टेम्पलेट
│ │ ├── code4rena-report.yml # Code4rena प्रारूप टेम्पलेट
│ │ └── codehawks-report.yml # CodeHawks प्रारूप टेम्पलेट
│ └── findings/
│ └── finding-schema.json # निष्कर्षों के लिए JSON स्कीमा
├── CONFIGURATION.md # कॉन्फ़िगरेशन गाइड
├── CONTRIBUTING.md # योगदान दिशानिर्देश
├── install.sh # स्थापना स्क्रिप्ट
├── raptor.toml # फ्रेमवर्क कॉन्फ़िगरेशन
└── README.md # यह फ़ाइल
Raptor कई ऑडिट प्लेटफार्मों के लिए रिपोर्ट तैयार करने का समर्थन करता है:
प्रत्येक प्लेटफ़ॉर्म की विशिष्ट स्वरूपण आवश्यकताएँ होती हैं। Raptor निष्कर्षों को एक संरचित JSON प्रारूप में संग्रहीत करता है और उन्हें प्रत्येक प्लेटफ़ॉर्म के लिए उपयुक्त मार्कडाउन प्रारूप में रूपांतरित करता है।
टेम्पलेट स्थान:
~/.raptor/schemas/reports/<project>/audits/reports/.templates/raptor.toml के माध्यम से कॉन्फ़िगर करने योग्यकस्टम रिपोर्ट प्रारूप जोड़ने के लिए CONFIGURATION.md देखें।
Raptor ऑडिट प्रोजेक्ट प्रबंधित करने के लिए एक कमांड-लाइन इंटरफ़ेस प्रदान करता है:
# एक नया ऑडिट प्रोजेक्ट आरंभ करें
raptor init my-audit
# मौजूदा निर्देशिका को बलपूर्वक अधिलेखित करें
raptor init my-audit --force
# init के दौरान रिपॉजिटरी क्लोन करें (डिफ़ॉल्ट रूप से shallow)
raptor init --git-url https://github.com/user/repo.git
# पूर्ण कमिट इतिहास के साथ कई रिपॉजिटरी क्लोन करें
raptor init --git-url URL1 URL2 --commit
# मौजूदा प्रोजेक्ट में रिपॉजिटरी जोड़ें (डिफ़ॉल्ट रूप से shallow)
raptor git add https://github.com/user/repo.git
# पूर्ण इतिहास के साथ कई रिपॉजिटरी जोड़ें
raptor git add URL1 URL2 --commit
# src/ में सभी रिपॉजिटरी की सूची देखें
raptor git list
# सभी रिपॉजिटरी अपडेट करें
raptor git update
# विशिष्ट रिपॉजिटरी अपडेट करें
raptor git update repo1 repo2
# रिपॉजिटरी हटाएँ
raptor git remove repo-name
# एक नया निष्कर्ष बनाएँ (JSON के रूप में संग्रहीत)
raptor finding --new "हमलावर स्टेकर्स से धन निकाल लेगा" --severity HIGH
# निष्कर्ष बनाएँ और तुरंत रिपोर्ट तैयार करें
raptor finding --new "withdraw में रीएंट्रेंसी" --severity CRITICAL --report sherlock code4rena
# सभी निष्कर्षों के लिए रिपोर्ट तैयार करें (डिफ़ॉल्ट: sherlock प्रारूप)
raptor report
# विशिष्ट प्रारूपों में रिपोर्ट तैयार करें
raptor report --format sherlock code4rena codehawks
# विशिष्ट निष्कर्ष के लिए रिपोर्ट तैयार करें
raptor report --format sherlock --finding HIGH-reentrancy-attack
मुख्य विशेषताएँ:
--git-url के साथ रिपॉजिटरी क्लोन करें या raptor git कमांड से प्रबंधित करें--depth 1 के साथ क्लोन किया जाता हैRaptor स्वचालित निर्भरता प्रबंधन और बहु-संस्करण समर्थन के साथ एक विस्तार योग्य प्लगइन आर्किटेक्चर का समर्थन करता है।
# सभी उपलब्ध प्लगइन की सूची देखें
raptor plugins list
raptor plugins -l
# प्रोजेक्ट में प्लगइन स्थापित करें (.plugins/)
raptor plugins install solidity-parser
# प्लगइन वैश्विक रूप से स्थापित करें (~/.raptor/bin/cli/plugins/)
raptor plugins install solidity-parser --global
raptor plugins -i solidity-parser -g
# एकाधिक प्लगइन स्थापित करें
raptor plugins install parser-plugin graph-plugin
# बलपूर्वक पुनर्स्थापित करें
raptor plugins install solidity-parser --force
raptor plugins -i solidity-parser -f
# प्लगइन स्थिति जांचें
raptor plugins status solidity-parser
Raptor एक ही प्लगइन के कई संस्करणों को एक साथ स्थापित करने की अनुमति देता है:
# पहली स्थापना (सक्रिय संस्करण बन जाता है)
raptor plugins install solidity-parser
# स्थापित होता है: .plugins/solidity-parser/1.0.0/
# अलग संस्करण स्थापित करें (पिछला सक्रिय रहता है)
raptor plugins install solidity-parser
# स्थापित होता है: .plugins/solidity-parser/1.1.0/
# सूची सभी संस्करण दिखाती है
raptor plugins list
# आउटपुट:
# solidity-parser [Project] v1.0.0 (2 versions)
# Versions: v1.0.0*, v1.1.0
# सक्रिय संस्करण स्विच करें
raptor plugins switch solidity-parser 1.1.0
# आउटपुट: ✓ 'solidity-parser' को v1.0.0 से 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" # वैकल्पिक संस्करण बाधा
description = "मेरा कस्टम प्लगइन"
# या स्थानीय पथ का उपयोग करें
[plugins.local-plugin]
url = "/path/to/plugin"
# या सापेक्ष पथ
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-audit के साथ एक नया ऑडिट प्रोजेक्ट आरंभ करेंraptor git add https://github.com/user/repo.git के साथ लक्ष्य कॉन्ट्रैक्ट रिपो को क्लोन करेंraptor finding --new "शीर्षक" --severity HIGH का उपयोग करके निष्कर्ष दस्तावेज़ित करेंraptor report --format sherlock code4rena के साथ प्लेटफ़ॉर्म-विशिष्ट रिपोर्ट तैयार करेंविस्तृत कॉन्फ़िगरेशन गाइड के लिए CONFIGURATION.md देखें।
कृपया हमारा योगदान गाइड पढ़ें।
कृपया सभी बातचीत में सम्मानजनक और पेशेवर रहें। हम सब यहाँ एक साथ सीखने और परियोजना को बेहतर बनाने के लिए हैं।
आपकी पसंद के अनुसार Apache License, Version 2.0 या MIT License के तहत लाइसेंस प्राप्त।
जब तक आप स्पष्ट रूप से अन्यथा नहीं बताते, आपके द्वारा इन क्रेट्स में योगदान के लिए जानबूझकर प्रस्तुत किया गया कोई भी योगदान, जैसा कि Apache-2.0 लाइसेंस में परिभाषित है, बिना किसी अतिरिक्त शर्तों या शर्तों के, उपरोक्त के रूप में दोहरे लाइसेंस के अंतर्गत होगा।
यह फ्रेमवर्क केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए है। सुरक्षा ऑडिट करने से पहले हमेशा उचित प्राधिकरण प्राप्त करें।