Aether v6.0 — स्मार्ट कॉन्ट्रैक्ट सुरक्षा विश्लेषण फ्रेमवर्क
संस्करण 6.0 | v6.0 में नया क्या है | चेंजलॉग
Aether, Solidity स्मार्ट कॉन्ट्रैक्ट्स का विश्लेषण करने, भेद्यता निष्कर्ष उत्पन्न करने, Foundry-आधारित प्रूफ-ऑफ-कॉन्सेप्ट (PoC) परीक्षण बनाने और मेननेट फोर्क्स पर एक्सप्लॉइट्स को मान्य करने के लिए एक Python-आधारित फ्रेमवर्क है। यह Solidity AST पार्सिंग, टेन्ट विश्लेषण, कंट्रोल फ्लो ग्राफ विश्लेषण, क्रॉस-कॉन्ट्रैक्ट विश्लेषण, Halmos प्रतीकात्मक निष्पादन, 180+ पैटर्न-आधारित स्थैतिक डिटेक्टर, साझा SAGE संस्थागत स्मृति के साथ एक सहयोगी मल्टी-एजेंट LLM पाइपलाइन (GPT/Gemini/Claude), 14 प्रोटोकॉल आर्किटाइप, 75+ एक्सप्लॉइट ज्ञानकोष, ML-कैलिब्रेटेड डिटेक्शन, टोकन क्विर्क्स डिटेक्शन, इन्वेरिएंट निष्कर्षण, संबंधित कॉन्ट्रैक्ट संदर्भ समाधान और उन्नत संदर्भ-जागरूक फ़िल्टरिंग को एक सतत पूर्ण-स्क्रीन TUI में संयोजित करता है।
v6.0 में नया क्या है
सहयोगी एजेंट पाइपलाइन — डीप एनालिसिस पाइपलाइन 5 स्वतंत्र पास से बदलकर 5 सहयोगी एजेंट बन गई है, जो SAGE संस्थागत स्मृति के माध्यम से संरचित ज्ञान साझा करते हैं:
- साझा सत्र स्मृति — प्रत्येक पास निष्कर्षों, खारिज़गियों और सत्यापित सुरक्षाओं को प्रति-ऑडिट SAGE सत्र में संग्रहीत करता है। बाद के पासों को सपाट पाठ्य सारांशों के बजाय "Prior Pass Intelligence" प्राप्त होती है।
- प्रथम-श्रेणी रिकॉर्ड के रूप में खारिज़गी — जब पास 3 किसी चिंता को खारिज़ करता है (जैसे, "reentrancy, nonReentrant मॉडिफायर द्वारा सुरक्षित है"), तो पास 5 उसे दोबारा फ़्लैग नहीं करेगा। यह सीधे तौर पर डुप्लिकेट निष्कर्षों के #1 स्रोत को समाप्त करता है।
- चुनौती तंत्र — बाद के पास पिछली खारिज़गियों को ओवरराइड कर सकते हैं, लेकिन उन्हें नया सबूत प्रस्तुत करना होगा। "पास 3 ने इस अन्य फ़ंक्शन के माध्यम से कॉलबैक पथ नहीं देखा" मान्य है। "मैं असहमत हूँ" मान्य नहीं है।
- क्रॉस-पास पुष्टि — जब कई पास स्वतंत्र रूप से किसी निष्कर्ष की पुष्टि करते हैं, तो आत्मविश्वास को 15% का बढ़ावा मिलता है। रिपोर्टों में क्रॉस-पुष्टि किए गए निष्कर्षों को प्राथमिकता दी जाती है।
- SAGE अनिवार्य — संस्थागत स्मृति अब अनिवार्य है, वैकल्पिक नहीं। SAGE नहीं = ऑडिट नहीं। प्रारंभ करने के लिए
docker compose up -d चलाएँ।
v5.0 में नया क्या है
SAGE संस्थागत स्मृति — Aether अब हर ऑडिट से सीखता है, गलत सकारात्मक परिणामों (फॉल्स पॉज़िटिव्स) को कम करता है और समय के साथ निष्कर्षों की गुणवत्ता में सुधार करता है:
- पूर्व-प्रशिक्षित ज्ञानकोष — 170 संस्थागत स्मृतियों के साथ आता है: 75 एक्सप्लॉइट पैटर्न, 63 प्रोटोकॉल आर्किटाइप चेकलिस्ट, 12 टोकन क्विर्क श्रेणियाँ, 20 क्यूरेटेड ऐतिहासिक एक्सप्लॉइट (DAO, Wormhole, Euler, Ronin, Curve, और अधिक)
- पाइपलाइन एकीकरण — SAGE डीप एनालिसिस पास 3 और 5 में ऐतिहासिक निष्कर्षों और एक्सप्लॉइट पैटर्न को पुनः स्मरण करता है; भविष्य में पुनः स्मरण के लिए पाइपलाइन के बाद ऑडिट सीखों को संग्रहीत करता है
- फीडबैक लूप — पुष्टि किए गए निष्कर्ष उच्च-आत्मविश्वास तथ्यों के रूप में संग्रहीत होते हैं; अस्वीकृत निष्कर्ष (गलत सकारात्मक) संग्रहीत होते हैं ताकि भविष्य के ऑडिट उनसे बच सकें। AccuracyTracker के परिणाम स्वचालित रूप से SAGE में फीड होते हैं
- वैलिडेशन पाइपलाइन — नया स्टेज -1: SAGE ज्ञात FP जाँच, किसी भी अन्य वैलिडेशन के चलने से पहले पहले से अस्वीकृत पैटर्न से मेल खाने वाले निष्कर्षों को फ़िल्टर करती है
- डिटेक्टर सटीकता सिंक —
SageFeedbackManager.sync_detector_accuracy() उच्च/निम्न प्रदर्शन करने वाले डिटेक्टरों की पहचान करता है और dos/don'ts प्रतिबिंबों को संग्रहीत करता है
- स्टार्टअप पर ऑटो-सीड — SAGE Docker चालू होने पर पहला लॉन्च पूर्व-प्रशिक्षित ज्ञानकोष को स्वतः सीड कर देता है। संस्करण-जागरूक: यदि पहले से सीड हो चुका है तो छोड़ देता है
- TUI एकीकरण — CostBar में प्रदर्शित मेमोरी गणना के साथ SAGE चालू/बंद स्थिति
- Docker परिनियोजन —
docker compose up -d SAGE प्रारंभ करता है; ~/.aether/config.yaml में sage_enabled/sage_url के माध्यम से कॉन्फ़िगरेशन
- सुगम अवनति — SAGE अनुपलब्ध होने पर कभी भी कोई ऑडिट कार्यक्षमता नहीं टूटती
योगदानकर्ता: @sashavdv को हार्डकोडेड पथ वेरिएबल्स ठीक करने के लिए (PR #1) और @pro258b को लापता validate_anthropic_key() विधि की पहचान करने के लिए (PR #2) धन्यवाद।
SAGE त्वरित प्रारंभ
SAGE, BFT सर्वसम्मति द्वारा संचालित एक सतत संस्थागत स्मृति प्रणाली है। पूर्ण प्रलेखन के लिए SAGE प्रोजेक्ट देखें।```bash
Install SAGE Python SDK
pip install sage-agent-sdk
Start SAGE (Docker required)
docker compose up -d
Run Aether — SAGE auto-seeds on first launch
python aether.py
Regenerate seed fixtures after updating knowledge bases (dev only)
python -c "from core.sage_seeder import SageSeeder; SageSeeder.generate_seed_fixtures()"
### SAGE ऑडिट्स को कैसे बेहतर बनाता है```
Audit 1 → Findings + FPs → Record outcomes in SAGE
↓
Audit 2 → SAGE recalls FP patterns → Fewer false positives
↓
Audit 3 → Richer institutional context → Better severity calibration
↓
Audit N → Institutional expert-level knowledge → Bug-bounty-quality findings
v4.7 में नई सुविधाएँ
PoC स्वतः-निष्पादन — जनरेट किए गए Foundry PoCs अब स्वचालित रूप से कंपाइल और निष्पादित होते हैं:
- कंपाइलेशन के तुरंत बाद PoCs चलाने के लिए
forge test --json एकीकरण
- संरचित pass/fail/error रिपोर्टिंग के लिए
PoCTestResult डेटाक्लास के साथ JSON परिणाम पार्सिंग
- लाइव स्टेट के विरुद्ध एक्सप्लॉइट्स के मेननेट सत्यापन के लिए फ़ोर्क-मोड समर्थन
- TUI में लाइव प्रगति ट्रैकिंग के लिए JobManager में नया
POC_TESTING चरण
Halmos प्रतीकात्मक निष्पादन — प्रतीकात्मक निष्पादन के माध्यम से औपचारिक सत्यापन:
- जनरेट किए गए गुणों के विरुद्ध Halmos प्रतीकात्मक परीक्षण चलाने के लिए
HalmosRunner
- निकाले गए इनवेरिएंट्स से सत्यापन गुणों को स्वतः-जनरेट करने के लिए
HalmosPropertyGenerator
- सत्यापन चरण 1.95 में एकीकृत
HalmosSymbolicNode पाइपलाइन नोड
- कॉन्फ़िग विकल्प:
enable_symbolic_verification, halmos_timeout
- Halmos इंस्टॉल न होने पर सुगम डिग्रेडेशन — बिना त्रुटियों के प्रतीकात्मक सत्यापन छोड़ देता है
कंट्रोल फ्लो ग्राफ विश्लेषण — कंपाइलर-स्तरीय कंट्रोल फ्लो समझ:
solidity_ast.py में BasicBlock, CFGEdge, ControlFlowGraph डेटाक्लास
- संरचनात्मक विश्लेषण के लिए
build_cfg(), get_dominators(), get_loop_headers(), format_cfg_for_llm()
- इनलाइन असेंबली समर्थन के लिए
parse_assembly_block() के माध्यम से असेंबली ब्लॉक पार्सिंग
- पाथ-सेंसिटिव विश्लेषण के लिए टेन्ट विश्लेषक में ब्रांच-अवेयर टेन्ट प्रसार
- टेन्ट डेटा के साथ डीप विश्लेषण पास 2 में CFG संदर्भ इंजेक्ट किया गया
ML फीडबैक लूप — ऐतिहासिक परिणाम-आधारित कैलिब्रेशन:
- सबमिशन परिणामों और बाउंटी आय को ट्रैक करने के लिए
AccuracyTracker.record_finding_outcome()
- प्रति-डिटेक्टर प्रदर्शन आँकड़ों के लिए
get_detector_accuracy() और get_detector_weights()
- true/false positives और ऐतिहासिक सटीकता ट्रैक करने वाला
DetectorStats डेटाक्लास
- डिटेक्टर ट्रैक रिकॉर्ड के आधार पर
EnhancedVulnerabilityDetector में कॉन्फिडेंस वेट समायोजन
- डीप विश्लेषण पास 5 में इंजेक्ट किया गया ऐतिहासिक डेटा से गंभीरता कैलिब्रेशन
संबंधित कॉन्ट्रैक्ट संदर्भ — LLM विश्लेषण अब पूर्ण डिपेंडेंसी सोर्स कोड देखता है:
RelatedContractResolver स्वचालित रूप से पैरेंट, इंटरफ़ेस, लाइब्रेरी और डिपेंडेंसी कॉन्ट्रैक्ट खोजता है
- प्रोजेक्ट मोड इंटर-कॉन्ट्रैक्ट संबंध विश्लेषण का उपयोग करता है; सिंगल-फ़ाइल मोड import स्टेटमेंट्स पार्स करता है
- प्रति-पास बजट प्रणाली: Gemini Flash पास के लिए 200K अक्षर, Claude के लिए 100K, GPT के लिए 50K
- बजट बचाने के लिए मानक लाइब्रेरीज़ (@openzeppelin, solmate, solady) को केवल-इंटरफ़ेस में सारांशित किया गया
- सिंगल-फ़ाइल ऑडिट संदर्भ के लिए स्वतः सहोदर .sol फ़ाइलें खोजते हैं
टेक डेट क्लीनअप — 8,500 पंक्तियाँ मृत कोड हटाई गईं:
- हटाया गया:
ai_ensemble.py, audit_engine.py, fork_verifier.py
- CLI, ऑडिट रनर, TUI स्क्रीन, रिपोर्ट जेनरेटर से सभी ai_ensemble संदर्भ हटाए गए
- डेटाबेस मैनेजर से
slither_project_cache हटाया गया
- एन्हांस्ड ऑडिट इंजन से औपचारिक सत्यापन स्टब्स हटाए गए
v4.0 में नई सुविधाएँ