
AI स्मार्ट कॉन्ट्रैक्ट सुरक्षा विश्लेषण और PoC जनरेशन फ्रेमवर्क
संस्करण 6.0 | v6.0 में नया क्या है | चेंजलॉग
Aether, Solidity स्मार्ट कॉन्ट्रैक्ट्स का विश्लेषण करने, भेद्यता निष्कर्ष उत्पन्न करने, Foundry-आधारित प्रूफ-ऑफ-कॉन्सेप्ट (PoC) परीक्षण बनाने और मेननेट फोर्क्स पर एक्सप्लॉइट्स को मान्य करने के लिए एक Python-आधारित फ्रेमवर्क है। यह Solidity AST पार्सिंग, टेन्ट विश्लेषण, कंट्रोल फ्लो ग्राफ विश्लेषण, क्रॉस-कॉन्ट्रैक्ट विश्लेषण, Halmos प्रतीकात्मक निष्पादन, 180+ पैटर्न-आधारित स्थैतिक डिटेक्टर, साझा SAGE संस्थागत स्मृति के साथ एक सहयोगी मल्टी-एजेंट LLM पाइपलाइन (GPT/Gemini/Claude), 14 प्रोटोकॉल आर्किटाइप, 75+ एक्सप्लॉइट ज्ञानकोष, ML-कैलिब्रेटेड डिटेक्शन, टोकन क्विर्क्स डिटेक्शन, इन्वेरिएंट निष्कर्षण, संबंधित कॉन्ट्रैक्ट संदर्भ समाधान और उन्नत संदर्भ-जागरूक फ़िल्टरिंग को एक सतत पूर्ण-स्क्रीन TUI में संयोजित करता है।
सहयोगी एजेंट पाइपलाइन — डीप एनालिसिस पाइपलाइन 5 स्वतंत्र पास से बदलकर 5 सहयोगी एजेंट बन गई है, जो SAGE संस्थागत स्मृति के माध्यम से संरचित ज्ञान साझा करते हैं:
docker compose up -d चलाएँ।SAGE संस्थागत स्मृति — Aether अब हर ऑडिट से सीखता है, गलत सकारात्मक परिणामों (फॉल्स पॉज़िटिव्स) को कम करता है और समय के साथ निष्कर्षों की गुणवत्ता में सुधार करता है:
SageFeedbackManager.sync_detector_accuracy() उच्च/निम्न प्रदर्शन करने वाले डिटेक्टरों की पहचान करता है और dos/don'ts प्रतिबिंबों को संग्रहीत करता हैdocker compose up -d SAGE प्रारंभ करता है; ~/.aether/config.yaml में sage_enabled/sage_url के माध्यम से कॉन्फ़िगरेशनयोगदानकर्ता: @sashavdv को हार्डकोडेड पथ वेरिएबल्स ठीक करने के लिए (PR #1) और @pro258b को लापता validate_anthropic_key() विधि की पहचान करने के लिए (PR #2) धन्यवाद।
SAGE, BFT सर्वसम्मति द्वारा संचालित एक सतत संस्थागत स्मृति प्रणाली है। पूर्ण प्रलेखन के लिए SAGE प्रोजेक्ट देखें।```bash
pip install sage-agent-sdk
docker compose up -d
python aether.py
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
PoC स्वतः-निष्पादन — जनरेट किए गए Foundry PoCs अब स्वचालित रूप से कंपाइल और निष्पादित होते हैं:
forge test --json एकीकरणPoCTestResult डेटाक्लास के साथ JSON परिणाम पार्सिंगPOC_TESTING चरणHalmos प्रतीकात्मक निष्पादन — प्रतीकात्मक निष्पादन के माध्यम से औपचारिक सत्यापन:
HalmosRunnerHalmosPropertyGeneratorHalmosSymbolicNode पाइपलाइन नोडenable_symbolic_verification, halmos_timeoutकंट्रोल फ्लो ग्राफ विश्लेषण — कंपाइलर-स्तरीय कंट्रोल फ्लो समझ:
solidity_ast.py में BasicBlock, CFGEdge, ControlFlowGraph डेटाक्लासbuild_cfg(), get_dominators(), get_loop_headers(), format_cfg_for_llm()parse_assembly_block() के माध्यम से असेंबली ब्लॉक पार्सिंगML फीडबैक लूप — ऐतिहासिक परिणाम-आधारित कैलिब्रेशन:
AccuracyTracker.record_finding_outcome()get_detector_accuracy() और get_detector_weights()DetectorStats डेटाक्लासEnhancedVulnerabilityDetector में कॉन्फिडेंस वेट समायोजनसंबंधित कॉन्ट्रैक्ट संदर्भ — LLM विश्लेषण अब पूर्ण डिपेंडेंसी सोर्स कोड देखता है:
RelatedContractResolver स्वचालित रूप से पैरेंट, इंटरफ़ेस, लाइब्रेरी और डिपेंडेंसी कॉन्ट्रैक्ट खोजता हैटेक डेट क्लीनअप — 8,500 पंक्तियाँ मृत कोड हटाई गईं:
ai_ensemble.py, audit_engine.py, fork_verifier.pyslither_project_cache हटाया गयाSolidity AST पार्सिंग — Aether v4.0 py-solc-x के माध्यम से कंपाइलर-समर्थित कोड विश्लेषण जोड़ता है, जो केवल-रेगेक्स स्टैटिक विश्लेषण से आगे बढ़ता है:
solc --ast-json एकीकरणटेन्ट विश्लेषण इंजन — खतरनाक डेटा प्रवाह की पहचान करने के लिए कॉन्ट्रैक्ट्स के माध्यम से उपयोगकर्ता-नियंत्रित इनपुट को ट्रैक करता है:
क्रॉस-कॉन्ट्रैक्ट विश्लेषण (पास 3.5) — मल्टी-कॉन्ट्रैक्ट कमज़ोरियों को लक्षित करने वाला नया डीप विश्लेषण पास:
टोकन क्विर्क्स डेटाबेस — गैर-मानक ERC-20 व्यवहारों की 12 श्रेणियाँ जो वास्तविक एक्सप्लॉइट्स का कारण बनती हैं:
स्टैटिक डिटेक्शन पाइपलाइन और आर्किटाइप चेकलिस्ट में एकीकृत।
एन्हांस्ड प्रिसिज़न इंजन — उन्नत राउंडिंग और प्रिसिज़न कमज़ोरी डिटेक्शन:
रनेबल PoC जनरेशन — जनरेट किए गए Foundry परीक्षण अब वास्तव में कंपाइल और चलते हैं:
LLM पाइपलाइन सुधार:
डीप विश्लेषण इंजन — Aether v3.5 मौलिक रूप से बदल देता है कि टूल कमज़ोरियाँ कैसे खोजता है, एक-शॉट "बग खोजें" LLM कॉल से एक संरचित 6-पास पाइपलाइन की ओर बढ़ते हुए जो दर्शाती है कि पेशेवर ऑडिटर कोड समीक्षा कैसे करते हैं: पहले समझें, फिर व्यवस्थित रूप से हमला करें।
एकल प्रॉम्प्ट के साथ पूरे कॉन्ट्रैक्ट को LLM को भेजने के बजाय, Aether अब संचित संदर्भ के साथ छह क्रमिक विश्लेषण पास चलाता है:
पास 1-2 कॉन्ट्रैक्ट कंटेंट हैश द्वारा कैश्ड होते हैं, इसलिए पुनः-ऑडिट समझ चरण को छोड़ देते हैं। प्रत्येक बाद वाला पास सभी पिछला संदर्भ प्राप्त करता है, एक व्यापक अटैक मॉडल बनाता है। AETHER_DEEP_ANALYSIS=1 (डिफ़ॉल्ट ON) के साथ फ़ीचर-फ़्लैग्ड; विफलता पर वन-शॉट पर वापस गिरता है।
बग्स के लिए विश्लेषण करने से पहले, Aether पता लगाता है कि कॉन्ट्रैक्ट किस प्रकार का प्रोटोकॉल लागू करता है और आर्किटाइप-विशिष्ट कमज़ोरी चेकलिस्ट लोड करता है:
कुल 10 आर्किटाइप, प्रत्येक में वास्तविक-विश्व एक्सप्लॉइट्स से लिए गए 3-7 विशिष्ट चेकलिस्ट आइटम।
50+ वर्गीकृत वास्तविक-विश्व एक्सप्लॉइट पैटर्न का एक संरचित डेटाबेस पिछली स्थिर 10-पैटर्न सूची को प्रतिस्थापित करता है:
प्रत्येक पैटर्न में कोड संकेतक, लापता सुरक्षाएँ, चरण-दर-चरण एक्सप्लॉइट तंत्र, और वास्तविक-विश्व मिसालें (डॉलर राशियों के साथ) शामिल हैं। पैटर्न को पहचाने गए आर्किटाइप और एजेंट फोकस क्षेत्र द्वारा फ़िल्टर किया जाता है।
स्वचालित रूप से तीन स्रोतों से प्रोटोकॉल इनवेरिएंट्स निकालता है:
@invariant टैगFoundry invariant_*() टेस्ट सूट उत्पन्न करता है जो औपचारिक-सत्यापन-लाइट प्रमाण के रूप में काम करते हैं — एक विफल इनवेरिएंट टेस्ट साबित करता है कि बग वास्तविक है।
division_by_zero, integer_underflow, आदि को सामूहिक रूप से low में डाउनग्रेड नहीं करता। अब निर्णय लेने से पहले जाँच करता है कि फाइंडिंग unchecked{} ब्लॉक में है, मूल्य ट्रांसफ़र के पास है, मूल्य गणनाओं में है, या Oracle संदर्भों में है"pending" फाइंडिंग्स अब LLM विश्लेषण में पास होती हैं (पहले केवल "validated" पास होती थीं, जो कई वास्तविक फाइंडिंग्स को चुपचाप गिरा देती थीं)(line // 10) * 10 बकेटिंग हटाई गई जो 2 लाइनों की दूरी वाली फाइंडिंग्स को अलग-अलग समूहों में बाँट देती थीDeFiVulnerabilityDetector (दो-चरणीय उपस्थिति/अनुपस्थिति विश्लेषण) अब केवल फ्लो-आधारित पाइपलाइन में नहीं, बल्कि मुख्य एन्हांस्ड ऑडिट इंजन में चलता हैपूर्ण रूप से इनलाइन टेक्स्टुअल TUI — Aether v3.0 एक स्थायी फ़ुल-स्क्रीन एप्लिकेशन है जो कभी भी रॉ टर्मिनल पर नहीं गिरता। हर ऑपरेशन — ऑडिट, PoC जनरेशन, रिपोर्ट जनरेशन, GitHub स्कोप चयन, सेटिंग्स कॉन्फ़िगरेशन — पूरी तरह से TUI के भीतर चलता है:
app.suspend() कॉल — TUI कभी गायब नहीं होता, कोई झटकेदार टर्मिनल स्विच नहींEnter दबाएँa/n, फ़िल्टर के लिए टाइप करें, पहले-ऑडिट किए गए कॉन्ट्रैक्ट रंग-कोडितn नया ऑडिट, r फिर से शुरू, h इतिहास, p PoCs, रिपोर्ट, फ़ेच, सेटिंग्स, बाहर निकलेंचार बैकग्राउंड जॉब प्रकार: सभी भारी संचालन AuditRunner के माध्यम से बैकग्राउंड डेमन थ्रेड्स के रूप में चलते हैं, आउटपुट ThreadDemuxWriter द्वारा कैप्चर किया जाता है और JobDetailScreen में दृश्यमान होता है:
| जॉब प्रकार | विवरण |
|---|---|
local | एकल या समानांतर कॉन्ट्रैक्ट ऑडिट |
github | पूर्व-चयनित स्कोप के साथ GitHub रिपॉज़िटरी ऑडिट |
तीन-प्रदाता LLM समर्थन: अधिकतम लचीलापन और अतिरेकता के लिए OpenAI (GPT-5/5.3), Google Gemini (2.5/3.0), और Anthropic Claude (Sonnet 4.5/Opus 4.6)।
एन्हांस्ड PoC जनरेशन: AST-आधारित कॉन्ट्रैक्ट विश्लेषण, पुनरावृत्त कंपाइलेशन फिक्स, और बग बाउंटी सबमिशन के लिए उपयुक्त एक्सप्लॉइट्स उत्पन्न करने वाले प्रोडक्शन-रेडी LLM प्रॉम्प्ट्स।
उन्नत गलत सकारात्मक फ़िल्टरिंग: मल्टी-स्टेज सत्यापन गलत सकारात्मक को 66% से घटाकर ~20-25% कर देता है, सटीकता को 33% से बढ़ाकर 75-80% करता है:
script/, .s.sol, forge-std/Script.sol) स्वचालित रूप से कमज़ोरी विश्लेषण से बाहर रखी जाती हैं[PRODUCTION]/[DEPLOYMENT SCRIPT] लेबल शामिल हैं ताकि मॉडल प्रोडक्शन कोड पर ध्यान केंद्रित करेंonlyDistributor, authorized) कॉन्ट्रैक्ट स्रोत से निकाले जाते हैं और हार्डकोडेड पैटर्न के साथ पहचाने जाते हैंMove कमज़ोरी डेटाबेस एकीकरण: 77 ऑडिट में 128 Critical/High फाइंडिंग्स के पैटर्न, Solidity/EVM के लिए अनुकूलित:
python setup.py # Interactive installer (recommended)
### 2. Aether लॉन्च करें```bash
python aether.py # Launches the full-screen Textual TUI
बस इतना ही। TUI आपको कीबोर्ड शॉर्टकट और मोडल डायलॉग के माध्यम से हर चीज़ में मार्गदर्शन करता है।
OPENAI_API_KEY (GPT मॉडल के लिए)GEMINI_API_KEY (Gemini मॉडल के लिए)ANTHROPIC_API_KEY (Claude मॉडल के लिए)ETHERSCAN_API_KEY (वैकल्पिक, सत्यापित कॉन्ट्रैक्ट प्राप्त करने के लिए)यदि आप मैन्युअल इंस्टॉलेशन पसंद करते हैं:```bash
curl -L https://foundry.paradigm.xyz | bash && foundryup export PATH="$PATH:$HOME/.foundry/bin"
pip install solc-select solc-select install 0.4.26 0.8.0 0.8.19 0.8.20 latest
python -m venv venv && source venv/bin/activate pip install -r requirements.txt
## कॉन्फ़िगरेशन
सेटअप विज़ार्ड (`python setup.py`) सब कुछ संभालता है। आप TUI के भीतर `s` (सेटिंग्स) के माध्यम से भी कॉन्फ़िगर कर सकते हैं:
- **API कुंजियाँ कॉन्फ़िगर करें** — OpenAI, Gemini, Anthropic, Etherscan कुंजियों के लिए मास्क किए गए वर्तमान मानों के साथ क्रमिक प्रॉम्प्ट
- **मॉडल कॉन्फ़िगर करें** — उपलब्ध विकल्पों में से प्रति प्रदाता मॉडल चुनें
- **पूर्ण विज़ार्ड** — API कुंजियाँ और उसके बाद मॉडल चयन चलाता है
- **ट्राइएज सेटिंग्स** — गंभीरता सीमाएँ, विश्वास स्तर, अधिकतम निष्कर्ष समायोजित करें
या पर्यावरण चर सीधे सेट करें:```bash
export OPENAI_API_KEY=sk-...
export GEMINI_API_KEY=...
export ANTHROPIC_API_KEY=...
Config is stored in ~/.aether/config.yaml.
डेटाबेस स्थान:
~/.aether/aetheraudit.db~/.aether/aether_github_audit.dbसभी इंटरैक्शन मुख्य स्क्रीन से कीबोर्ड शॉर्टकट के माध्यम से होते हैं:
n — नया ऑडिटतीन स्रोत प्रकारों वाला मल्टी-स्टेप विज़ार्ड:
स्थानीय फ़ाइल या निर्देशिका:
GitHub URL:
a/n)ब्लॉक एक्सप्लोरर URL / पता:
r — ऑडिट फिर से शुरू करेंप्रोजेक्ट नाम, स्कोप, प्रगति (N/M कॉन्ट्रैक्ट) और अंतिम अपडेट समय के साथ सभी चालू GitHub ऑडिट की तालिका। लंबित कॉन्ट्रैक्ट सत्यापित करने और बैकग्राउंड जॉब के रूप में लॉन्च करने के लिए एक चुनें।
h — ऑडिट इतिहासदोनों डेटाबेस (स्थानीय + GitHub) से सभी पिछले ऑडिट का एकीकृत दृश्य। सबमेनू के लिए कोई भी प्रविष्टि चुनें:
p — PoC जनरेट करेंप्रोजेक्ट चुनें, अधिकतम आइटम, न्यूनतम गंभीरता, और केवल-सर्वसम्मति फ़िल्टरिंग कॉन्फ़िगर करें। PoC जनरेशन बैकग्राउंड जॉब के रूप में चलता है — जॉब्स टेबल में प्रगति देखें।
o — रिपोर्टप्रोजेक्ट, स्कोप, और फ़ॉर्मैट (markdown/json/html/all) चुनें। रिपोर्ट जनरेशन बैकग्राउंड जॉब के रूप में चलता है।
f — कॉन्ट्रैक्ट प्राप्त करें10+ समर्थित चेन में से नेटवर्क चुनें, पता दर्ज करें या एक्सप्लोरर URL पेस्ट करें, सत्यापित सोर्स कोड प्राप्त करें, और वैकल्पिक रूप से तुरंत ऑडिट करें।
s — सेटिंग्सEnter — जॉब विवरणजॉब्स टेबल में किसी भी पंक्ति पर Enter दबाकर देखें:
q — बाहर निकलेंTUI से बाहर निकलता है। यदि जॉब चल रहे हैं, तो पुष्टि के लिए संकेत देता है।
build_cfg() डोमिनेटर ट्री और लूप हेडर पहचान के साथ बेसिक ब्लॉक बनाता है; असेंबली ब्लॉक पार्सिंग; CFG कॉन्टेक्स्ट को डीप विश्लेषण और टेंट प्रसार में फीड किया जाता हैRelatedContractResolver के साथ इंटर-कॉन्ट्रैक्ट संबंध विश्लेषकHalmosRunner + HalmosPropertyGenerator; वैलिडेशन Stage 1.95 पर एकीकृत; Halmos इंस्टॉल न होने पर ग्रेसफुल डिग्रेडेशनAccuracyTracker सबमिशन परिणाम रिकॉर्ड करता है और प्रति-डिटेक्टर कॉन्फिडेंस वेट जनरेट करता है; ऐतिहासिक डेटा से गंभीरता कैलिब्रेशन डीप विश्लेषण में इंजेक्ट किया जाता हैRelatedContractResolver पैरेंट, इंटरफ़ेस, लाइब्रेरी, और डिपेंडेंसी कॉन्ट्रैक्ट खोजता है; स्टैंडर्ड लाइब्रेरी सारांशीकरण के साथ प्रति-पास बजट प्रणाली./output/ — सामान्य आउटपुट रूट./output/reports/ — जनरेट की गई रिपोर्टें./output/pocs/ — जनरेट किए गए Foundry PoC सूट./output/exploit_tests/ — एक्सप्लॉइट परीक्षण के परिणामaether.py — एकमात्र एंट्री पॉइंट; Textual TUI लॉन्च करता हैcli/interactive_menu.py — पतला शिम जो JobManager + AetherApp बनाता हैcli/tui/app.py — AetherApp(App) — की बाइंडिंग और 1-सेकंड रिफ्रेश टाइमर वाला मुख्य Textual ऐपcli/tui/)MainScreen (जॉब्स टेबल + कॉस्ट बार), JobDetailScreen (लाइव लॉग + चरण + मेटाडेटा), NewAuditScreen, HistoryScreen, ResumeScreen, PoCScreen, ReportsScreen, FetchScreen, SettingsScreenJobsTable (JobManager को पोल करने वाली DataTable), CostBar (प्रदाता द्वारा सत्र लागत), LogViewer (इंक्रीमेंटल रिफ्रेश के साथ RichLog), PhaseBar (यूनिकोड ब्लॉक प्रगति)ConfirmDialog, , , , , — सभी ModalScreen सबक्लासcli/audit_runner.py — डेमन थ्रेड्स में ऑडिट, PoC, रिपोर्ट, और GitHub ऑडिट चलाने वाला AuditRunner क्लासcore/job_manager.py — JobManager सिंगलटन: सत्र जॉब रजिस्ट्री (QUEUED/RUNNING/COMPLETED/FAILED/CANCELLED)core/audit_progress.py — प्रति-जॉब लॉग बफ़र के साथ ContractAuditStatus, stdout/stderr कैप्चर के लिए ThreadDemuxWritercore/llm_usage_tracker.py — प्रति-जॉब लागत डेल्टा के लिए snapshot() के साथ थ्रेड-सुरक्षित सिंगलटनcli/main.py — AetherCLI क्लास (~2600 पंक्तियाँ) — AuditRunner द्वारा उपयोग किया जाने वाला आंतरिक ऑडिट ऑर्केस्ट्रेटरcore/enhanced_audit_engine.py — डीप विश्लेषण एकीकरण के साथ मुख्य ऑडिट इंजनcore/post_audit_summary.py — प्रदाता-दर-लागत विवरण के साथ पोस्ट-ऑडिट पैनलcore/deep_analysis_engine.py — 6-पास LLM पाइपलाइन प्लस Pass 3.5 (क्रॉस-कॉन्ट्रैक्ट): समझें → हमले की सतह → इनवेरिएंट → क्रॉस-कॉन्ट्रैक्ट → क्रॉस-फ़ंक्शन → एडवर्सेरियल → एज केस; मॉडल टियर चयन, कैशिंग, फ्यू-शॉट उदाहरण, चेन-ऑफ़-थॉट प्रवर्तन, Pass 2 में CFG कॉन्टेक्स्ट, Pass 5 में ML गंभीरता कैलिब्रेशन, प्रति-पास संबंधित कॉन्ट्रैक्ट कॉन्टेक्स्टcore/protocol_archetypes.py — प्रोटोकॉल आर्किटाइप पहचान (LIQUID_STAKING, PERPETUAL_DEX, CDP_STABLECOIN, YIELD_AGGREGATOR सहित 14 प्रकार) प्रति-आर्किटाइप कमज़ोरी चेकलिस्ट के साथcore/exploit_knowledge_base.py — 14 श्रेणियों में 75+ वर्गीकृत वास्तविक-विश्व एक्सप्लॉइट पैटर्न (CROSS_CONTRACT, SIGNATURE_AUTH, TOKEN_INTEGRATION, PROXY_UPGRADE, TYPE_SAFETY सहित)core/invariant_engine.py — इनवेरिएंट निष्कर्षण (NatSpec + LLM + पैटर्न) और Foundry इनवेरिएंट टेस्ट जनरेशन + Halmos प्रॉपर्टी जनरेशनcore/solidity_ast.py — इनहेरिटेंस, विज़िबिलिटी, स्टोरेज लेआउट, स्टेट रीड/राइट ट्रैकिंग के लिए regex फ़ॉलबैक के साथ py-solc-x के माध्यम से Solidity AST पार्सिंग; कंट्रोल फ़्लो ग्राफ़ निर्माण (build_cfg(), get_dominators(), get_loop_headers())core/taint_analyzer.py — 8 स्रोत प्रकार, 12 सिंक प्रकार, सैनिटाइज़र पहचान, क्रॉस-कॉन्ट्रैक्ट ट्रैकिंग, ब्रांच-अवेयर CFG प्रसार के साथ डेटा फ़्लो / टेंट विश्लेषणcore/enhanced_vulnerability_detector.py — 60+ पैटर्न के साथ प्राथमिक डिटेक्टरcore/business_logic_detector.py, core/state_management_detector.py, core/data_inconsistency_detector.py, core/centralization_detector.py, core/looping_detector.py — Move-प्रेरित डिटेक्टरcore/defi_vulnerability_detector.py, core/mev_detector.py, core/oracle_manipulation_detector.py — DeFi-विशिष्ट डिटेक्टर (DeFi डिटेक्टर v3.5 में एन्हांस्ड इंजन में एकीकृत)core/arithmetic_analyzer.py, core/precision_analyzer.py, core/gas_analyzer.py, , — विशेष विश्लेषक (precision विश्लेषक शेयर इन्फ्लेशन, राउंडिंग दिशा, डिवीज़न ट्रंकेशन, डस्ट एक्सप्लॉइटेशन, एक्युमुलेटर ओवरफ़्लो पहचान से एन्हांस्ड)core/validation_pipeline.py — मल्टी-स्टेज पाइपलाइन: बिल्ट-इन सुरक्षा जाँच, गवर्नेंस पहचान, टेंट-अवेयर वैलिडेशन (Stage 1.85), Halmos प्रतीकात्मक सत्यापन (Stage 1.95), डिप्लॉयमेंट सत्यापन, स्थानीय वैलिडेशनcore/governance_detector.py, core/deployment_analyzer.py, core/llm_false_positive_filter.pycore/control_flow_guard_detector.py, core/inheritance_verifier.pycore/nodes/halmos_node.py — प्रतीकात्मक निष्पादन वैलिडेशन के लिए HalmosSymbolicNode पाइपलाइन नोडcore/enhanced_llm_analyzer.py — JSON आउटपुट और मल्टी-प्रोवाइडर रोटेशन के साथ संरचित LLM विश्लेषण (GPT/Gemini/Claude)core/enhanced_prompts.py — ज्ञान आधार से डायनामिक एक्सप्लॉइट पैटर्न लोडिंग, फ्यू-शॉट उदाहरण, गंभीरता कैलिब्रेशन, और चेन-ऑफ़-थॉट प्रवर्तन के साथ प्रोडक्शन प्रॉम्प्ट टेम्पलेटcore/foundry_poc_generator.py (~8000 पंक्तियाँ) — AST-आधारित विश्लेषण, पुनरावृत्त संकलन फीडबैक (अधिकतम 5 प्रयास), PoCTestResult पार्सिंग और fork-mode समर्थन के साथ forge test --json के माध्यम से स्वचालित निष्पादनcore/llm_foundry_generator.py — मॉक API दस्तावेज़ीकरण और अनुशंसित setUp पैटर्न के साथ LLM-आधारित टेस्ट जनरेशनcore/enhanced_foundry_integration.py — Foundry वैलिडेशन और फ़ॉर्मेटिंगcore/poc_templates.py — मॉक कॉन्ट्रैक्ट टेम्पलेट (MockERC20, MockOracle, MockWETH, MockFlashLoanProvider)core/poc_setup_generator.py — बुद्धिमान setUp() जनरेशन: कंस्ट्रक्टर पैराम निष्कर्षण, मॉक डिप्लॉयमेंट, अपग्रेडेबल कॉन्ट्रैक्ट हैंडलिंग, टोकन मिंटिंग और अनुमोदनcore/database_manager.py — DatabaseManager (स्थानीय ऑडिट) + AetherDatabase (GitHub ऑडिट)core/analysis_cache.py — दोहराए गए विश्लेषण को 2x तेज़ बनाने के लिए स्मार्ट कैशिंगcore/accuracy_tracker.py — ML फीडबैक लूप: सबमिशन परिणाम, बाउंटी आय, प्रति-डिटेक्टर सटीकता आँकड़े, कॉन्फिडेंस वेट जनरेशनcore/github_auditor.py — रिपो क्लोन करें, फ्रेमवर्क पहचानें, कॉन्ट्रैक्ट खोजें, विश्लेषण समन्वयित करेंcore/etherscan_fetcher.py, core/basescan_fetcher.py — ब्लॉक एक्सप्लोरर से सत्यापित कॉन्ट्रैक्ट प्राप्त करेंcore/exploit_tester.py — Anvil फोर्क्स के विरुद्ध एक्सप्लॉइट सत्यापित करेंऑडिट फ़्लो YAML कॉन्फ़िग्स (configs/) में परिभाषित हैं। एन्हांस्ड ऑडिट पाइपलाइन:
FileReaderNode -> StaticAnalysisNode -> LLMAnalysisNode -> EnhancedExploitabilityNode -> [FixGeneratorNode -> ValidationNode -> HalmosSymbolicNode] -> ReportNode
76 टेस्ट फ़ाइलों में 2059 टेस्ट, ~23 सेकंड में चलते हैं:```bash python -m pytest tests/ # All tests (~23s, 2059 tests) python -m pytest tests/test_enhanced_detectors.py -v # Single file python -m pytest tests/test_enhanced_detectors.py::TestArithmeticAnalyzer -v # Single class python -m pytest tests/ -k "governance" -v # Pattern match python -m pytest tests/ --cov=core --cov-report=html # With coverage
## समस्या निवारण
- **Foundry नहीं मिला** — सुनिश्चित करें कि `forge`/`anvil` इंस्टॉल हैं और `PATH` पर हैं (`foundryup` और `export PATH="$PATH:$HOME/.foundry/bin"`)
- **solc नहीं मिला** — `solc-select` और आवश्यक संस्करण इंस्टॉल करें: `solc-select install 0.8.20 latest`
- **LLM सुविधाएँ काम नहीं कर रही हैं** — सत्यापित करें कि API कुंजियाँ सेट हैं। कुछ मॉडल आपके खाते/क्षेत्र में उपलब्ध नहीं हो सकते हैं; सिस्टम स्वचालित रूप से फॉलबैक करता है
- **डेटाबेस नहीं मिला** — GitHub रिपोर्टों के लिए, सुनिश्चित करें कि ऑडिट वर्कफ़्लो पहले चलाया गया है
- **Textual लोड नहीं हो रहा है** — यदि गायब है तो `pip install textual>=1.0.0` चलाएँ
---
## चेंजलॉग
### v4.7 — PoC ऑटो-एक्ज़ीक्यूशन, Halmos सिम्बोलिक वेरिफिकेशन, CFG विश्लेषण और ML फीडबैक लूप
- **PoC ऑटो-एक्ज़ीक्यूशन** — जनरेट किए गए Foundry PoCs `PoCTestResult` पार्सिंग और फ़ोर्क-मोड समर्थन के साथ `forge test --json` के माध्यम से स्वचालित रूप से कंपाइल और एक्ज़ीक्यूट होते हैं; लाइव TUI ट्रैकिंग के लिए `POC_TESTING` चरण
- **Halmos सिम्बोलिक एक्ज़ीक्यूशन** — `HalmosRunner`, `HalmosPropertyGenerator`, और `HalmosSymbolicNode` पाइपलाइन नोड (वैलिडेशन स्टेज 1.95) इनवेरिएंट्स के औपचारिक सत्यापन के लिए; यदि Halmos इंस्टॉल नहीं है तो सहज डिग्रेडेशन
- **कंट्रोल फ़्लो ग्राफ़ विश्लेषण** — `BasicBlock`, `CFGEdge`, `ControlFlowGraph` जिसमें `build_cfg()`, डोमिनेटर ट्री, लूप हेडर डिटेक्शन, असेंबली ब्लॉक पार्सिंग शामिल है; CFG संदर्भ डीप एनालिसिस पास 2 में इंजेक्ट किया जाता है; ब्रांच-अवेयर टैंट प्रोपेगेशन
- **ML फीडबैक लूप** — `AccuracyTracker` प्रति-डिटेक्टर आँकड़ों के लिए `get_detector_accuracy()` और `get_detector_weights()` के साथ सबमिशन परिणाम रिकॉर्ड करता है; `EnhancedVulnerabilityDetector` में कॉन्फ़िडेंस वेट समायोजन; डीप एनालिसिस पास 5 में गंभीरता कैलिब्रेशन
- **संबंधित कॉन्ट्रैक्ट संदर्भ** — `RelatedContractResolver` प्रति-पास बजट प्रणाली (200K/100K/50K अक्षर) के साथ पैरेंट, इंटरफ़ेस, लाइब्रेरी और डिपेंडेंसी कॉन्ट्रैक्ट खोजता है; स्टैंडर्ड लाइब्रेरी सारांशीकरण; सिंगल-फ़ाइल सिबलिंग खोज
- **टेक डेब्ट क्लीनअप** — 8,500 लाइनों का डेड कोड हटाया गया: `ai_ensemble.py`, `audit_engine.py`, `fork_verifier.py` हटाए गए; CLI, ऑडिट रनर, TUI स्क्रीन, रिपोर्ट जनरेटर से सभी ai_ensemble संदर्भ हटाए गए
- **76 टेस्ट फ़ाइलों में 2059 टेस्ट** पास हो रहे हैं
### v4.0 — Solidity AST पार्सिंग, टैंट विश्लेषण और डेटा फ़्लो ट्रैकिंग
- **Solidity AST पार्सर** — py-solc-x के माध्यम से पूर्ण solc एकीकरण उचित इनहेरिटेंस रिज़ॉल्यूशन, फ़ंक्शन विज़िबिलिटी, स्टोरेज लेआउट, स्टेट रीड/राइट ट्रैकिंग के लिए; सहज regex फॉलबैक
- **टैंट विश्लेषण इंजन** — सैनिटाइज़र डिटेक्शन और क्रॉस-कॉन्ट्रैक्ट ट्रैकिंग के साथ 8 स्रोत प्रकारों से 12 खतरनाक सिंक तक उपयोगकर्ता-नियंत्रित इनपुट ट्रैक करता है
- **पाइपलाइन एकीकरण** — AST डेटा पास 1 में फीड किया जाता है, टैंट डेटा पास 2 में फीड किया जाता है, टैंट-अवेयर वैलिडेशन स्टेज 1.85
- **67 टेस्ट फ़ाइलों में 1839 टेस्ट** पास हो रहे हैं (~23 सेकंड)
### v3.8 — उन्नत डिटेक्शन और PoC जनरेशन
- **क्रॉस-कॉन्ट्रैक्ट विश्लेषण** — इंटर-कॉन्ट्रैक्ट रिलेशनशिप विश्लेषक, ट्रस्ट बाउंड्री डिटेक्शन, यूनियन-फाइंड ग्रुपिंग के साथ नया पास 3.5
- **टोकन क्विर्क्स डेटाबेस** — गैर-मानक ERC-20 व्यवहारों की 12 श्रेणियाँ (fee-on-transfer, rebasing, ERC-777, आदि)
- **उन्नत प्रिसिज़न इंजन** — शेयर इन्फ्लेशन डिटेक्शन, राउंडिंग दिशा विश्लेषण, डिविज़न ट्रंकेशन ट्रैकिंग, डस्ट एक्सप्लॉइटेशन, एक्युमुलेटर ओवरफ़्लो
- **रनेबल PoC जनरेशन** — मॉक कॉन्ट्रैक्ट लाइब्रेरी (ERC20, Oracle, WETH, FlashLoan), इंटेलिजेंट `setUp()`, अधिकतम कंपाइल प्रयास 3→5
- **डीप एनालिसिस पास 3, 4, 5 में फ्यू-शॉट उदाहरण** वास्तविक कमज़ोरियों और फ़ॉल्स पॉज़िटिव उदाहरणों के साथ
- **गंभीरता कैलिब्रेशन** — ठोस थ्रेशोल्ड (Critical >$1M, High >$100K, Medium >$10K, Low सैद्धांतिक)
- **चेन-ऑफ़-थॉट प्रवर्तन** — JSON आउटपुट से पहले अनिवार्य 5-चरणीय तर्क
- **AI ensemble सेवानिवृत्त** — डीप एनालिसिस पासों में मल्टी-प्रोवाइडर रोटेशन द्वारा प्रतिस्थापित
- **मल्टी-प्रोवाइडर रोटेशन** — Gemini Flash (सस्ते पास), Anthropic Claude (तर्क), OpenAI GPT (विविधता)
- **1682 टेस्ट** पास हो रहे हैं
### v3.7 — विस्तारित आर्किटाइप्स और एक्सप्लॉइट पैटर्न
- **4 नए प्रोटोकॉल आर्किटाइप** — LIQUID_STAKING, PERPETUAL_DEX, CDP_STABLECOIN, YIELD_AGGREGATOR (कुल 10→14)
- **25 नए एक्सप्लॉइट पैटर्न** — CROSS_CONTRACT, SIGNATURE_AUTH, TOKEN_INTEGRATION, PROXY_UPGRADE, TYPE_SAFETY श्रेणियाँ (कुल 50→75)
- **बेहतर कॉन्ट्रैक्ट स्कैनर** — एब्स्ट्रैक्ट्स अब स्कोर किए जाते हैं, मोनोरेपो समर्थन के लिए समायोजित थ्रेशोल्ड
- **1528 टेस्ट** पास हो रहे हैं
### v3.5.2 — फ़ॉल्स पॉज़िटिव कमी
- **कॉन्ट्रैक्ट डिस्कवरी में स्क्रिप्ट डिटेक्शन** — `script/`/`scripts/` के अंतर्गत फ़ाइलें, `.s.sol` फ़ाइलें, और ऐसे कॉन्ट्रैक्ट जो `forge-std/Script.sol` इम्पोर्ट करते हैं या `is Script` इनहेरिट करते हैं, उन्हें डिप्लॉयमेंट स्क्रिप्ट के रूप में टैग किया जाता है और LLM कमज़ोरी विश्लेषण से बाहर रखा जाता है। Foundry डिप्लॉयमेंट हेल्पर्स के प्रोडक्शन कोड के रूप में विश्लेषित किए जाने से फ़ॉल्स पॉज़िटिव की पूरी श्रेणी समाप्त हो जाती है
- **LLM प्रॉम्प्ट्स में फ़ाइल संदर्भ मार्कर** — संयुक्त सामग्री में अब प्रति फ़ाइल `// FILE: <नाम>` मार्कर शामिल हैं, और डीप एनालिसिस पास 1 और 3 को `## Project Files` हेडर मिलता है जो प्रत्येक फ़ाइल को `[PRODUCTION]` या `[DEPLOYMENT SCRIPT]` के रूप में लेबल करता है ताकि LLM सही कोड पर ध्यान केंद्रित करें
- **डायनामिक मॉडिफ़ायर डिटेक्शन** — `GovernanceDetector` अब कॉन्ट्रैक्ट में परिभाषित कस्टम एक्सेस-कंट्रोल मॉडिफ़ायर (जैसे `onlyDistributor`, `onlyMinter`, `authorized`) को `only` उपसर्ग या `msg.sender` जाँच वाली मॉडिफ़ायर परिभाषाओं को स्कैन करके निकालता है। इन्हें `has_access_control()` और `is_governance_function()` के लिए हार्डकोडेड मॉडिफ़ायर सूची के साथ मर्ज किया जाता है
- **फ़ंक्शन-स्कोप डीडुप्लिकेशन** — `VulnerabilityDeduplicator` अब जब कॉन्ट्रैक्ट कोड उपलब्ध होता है तो निष्कर्षों को `(function_name, vuln_type)` द्वारा समूहित करता है, जो उस नाज़ुक सटीक-लाइन मिलान को प्रतिस्थापित करता है जो एक ही फ़ंक्शन में आसन्न-लाइन डुप्लिकेट को अनदेखा कर देता था। जब फ़ंक्शन संदर्भ उपलब्ध नहीं होता है तो 20-लाइन बकेट ग्रुपिंग पर फ़ॉलबैक करता है
- **व्यापक AI ensemble लाइन सहनशीलता** — एजेंटों में समान-फ़ंक्शन डुप्लिकेट पकड़ने के लिए `_findings_match_fuzzy()` सहनशीलता ±5 से ±15 लाइनों तक बढ़ाई गई
- **परमाणु कंस्ट्रक्टर फ़ॉल्स पॉज़िटिव पैटर्न** — `_check_constructor_context()` अब पता लगाता है कि कोई कॉन्ट्रैक्ट एक ही कंस्ट्रक्टर में डिप्लॉय (`new`/`Create2`) और इनिशियलाइज़ (`.initialize()`) किया गया है, फ्रंट-रनिंग चिंताओं को फ़ॉल्स पॉज़िटिव के रूप में चिह्नित करता है क्योंकि ऑपरेशन परमाणु हैं
- **LLM वैलिडेशन पैटर्न #18** — LLM वैलिडेशन प्रॉम्प्ट में 18-पैटर्न फ़ॉल्स पॉज़िटिव चेकलिस्ट में "Atomic Deployment + Initialization" जोड़ा गया
- **56 टेस्ट फ़ाइलों में 1489 टेस्ट** पास हो रहे हैं (~40 सेकंड), 1461 से ऊपर
### v3.5 — डीप एनालिसिस इंजन
- **6-पास डीप एनालिसिस पाइपलाइन** — वन-शॉट LLM कॉल्स को संरचित मल्टी-पास तर्क से प्रतिस्थापित करता है: प्रोटोकॉल समझ → अटैक सरफेस मैपिंग → इनवेरिएंट उल्लंघन विश्लेषण → क्रॉस-फ़ंक्शन इंटरैक्शन → प्रतिकूल मॉडलिंग → बाउंड्री और एज केस। प्रत्येक पास को पिछले पासों से संचित संदर्भ प्राप्त होता है। तेज़ पुनः-ऑडिट के लिए पास 1-2 सामग्री हैश द्वारा कैश किए जाते हैं
- **प्रोटोकॉल आर्किटाइप डिटेक्शन** — प्रोटोकॉल प्रकार की स्वचालित पहचान (ERC-4626 Vault, Lending Pool, DEX/AMM, Bridge, Staking, Governance, Oracle, NFT Marketplace, Token, Orderbook) वास्तविक-विश्व एक्सप्लॉइट्स से लिए गए प्रति-आर्किटाइप कमज़ोरी चेकलिस्ट के साथ
- **एक्सप्लॉइट नॉलेज बेस** — 9 श्रेणियों (Inflation/Share, Reentrancy, Oracle, Governance, Bridge, Precision/Rounding, Access Control, Economic/DeFi, Logic) में 50+ वर्गीकृत एक्सप्लॉइट पैटर्न जो स्थिर 10-पैटर्न सूची को प्रतिस्थापित करते हैं। प्रत्येक पैटर्न में कोड संकेतक, लापता सुरक्षाएँ, चरण-दर-चरण एक्सप्लॉइट तंत्र, डॉलर राशियों के साथ वास्तविक-विश्व मिसालें, और आर्किटाइप प्रयोज्यता शामिल हैं
- **इनवेरिएंट इंजन** — NatSpec `@invariant` टैग, LLM विश्लेषण, और 6 सामान्य पैटर्न डिटेक्टरों (वॉल्ट संरक्षण, बैलेंस ट्रैकिंग, सप्लाई अकाउंटिंग, AMM स्थिर उत्पाद, लेंडिंग कोलेटरलाइज़ेशन, स्टेकिंग रिवॉर्ड्स) से प्रोटोकॉल इनवेरिएंट निकालता है। औपचारिक-सत्यापन-लाइट प्रमाणों के रूप में Foundry `invariant_*()` टेस्ट सूट जनरेट करता है
- **संदर्भ-जागरूक गंभीरता कैलिब्रेशन** — सामान्य गंभीरता डाउनग्रेड को जोखिम-संदर्भ जाँचों से प्रतिस्थापित करता है। `unchecked{}` ब्लॉकों में, मूल्य स्थानांतरणों के पास (`call{value:}`, `_mint`, `safeTransfer`), मूल्य गणनाओं, या ओरेकल संदर्भों में निष्कर्ष अपनी मूल गंभीरता बनाए रखते हैं
- **वैलिडेशन गेट फिक्स** — `"pending"` निष्कर्ष अब `needs_llm_validation` फ़्लैग के साथ LLM विश्लेषण में पास होते हैं। केवल स्पष्ट `"false_positive"` निष्कर्ष हटाए जाते हैं (पहले, सभी गैर-`"validated"` निष्कर्ष चुपचाप फ़िल्टर हो जाते थे)
- **स्पेशलिस्ट-अवेयर कॉन्फ़िडेंस पेनल्टी** — एजेंट की विशेषज्ञता से मेल खाने वाले एकल-एजेंट निष्कर्ष (जैसे, AnthropicReasoningSpecialist + आर्थिक हमले) को -0.05 पेनल्टी मिलती है; गैर-स्पेशलिस्ट निष्कर्ष -0.15 रखते हैं
- **लाइन-बकेट डीडुप फिक्स** — वह `(line // 10) * 10` बकेटिंग हटाई गई जो मनमाने बाउंड्री मुद्दों का कारण बनती थी (पंक्तियाँ 9 और 11 अलग-अलग बकेट में)। डीडुप अब केवल सामान्यीकृत कमज़ोरी प्रकार का उपयोग करता है, जिसमें `_findings_match_fuzzy()` लाइन निकटता संभालता है
- **DeFi डिटेक्टर एकीकरण** — `DeFiVulnerabilityDetector` (दो-चरणीय उपस्थिति/अनुपस्थिति सिमेंटिक विश्लेषण) अब `EnhancedVulnerabilityDetector` के साथ उन्नत ऑडिट इंजन में चलता है
- **प्रॉम्प्ट्स में डायनामिक एक्सप्लॉइट पैटर्न** — `enhanced_prompts.py` अब फ़ोकस क्षेत्र द्वारा फ़िल्टर किए गए ExploitKnowledgeBase से पैटर्न लोड करता है, स्थिर पैटर्न पर फॉलबैक के साथ
- **55 टेस्ट फ़ाइलों में 1461 टेस्ट** पास हो रहे हैं (~50 सेकंड)
### v3.2 — जॉब स्टैट्स और UI फिक्स
- **जॉब के निष्कर्ष/लागत/LLM स्टैट्स हमेशा शून्य दिखने की समस्या ठीक की** — ऑडिट वर्कर अब निष्कर्षों की संख्या निकालने के लिए `run_audit()` से रिज़ल्ट्स डिक्शनरी कैप्चर करता है; `LLMUsageTracker.reset()` हटाया गया जो अनाथ सिंगलटन संदर्भ छोड़ता था; सभी 4 वर्कर प्रकार स्नैपशॉट डेल्टा से प्रति-जॉब स्टैट्स की गणना करते हैं
- **विंडो स्विच पर UI रीपेंट आर्टिफ़ैक्ट ठीक किया** — JobDetailScreen में स्टेल कंपोज़िटर फ़्रेम्स को रोकने के लिए स्क्रॉलेबल कंटेनरों को सादे `Container` + `overflow: hidden` से प्रतिस्थापित किया
- **"Job Details" को border_title में स्थानांतरित किया** क्लीनर मेटाडेटा पैनल रेंडरिंग के लिए
- `CLAUDE.md` को git ट्रैकिंग से हटाया गया
### v3.0 — पूरी तरह से इनलाइन Textual TUI
- **शून्य `app.suspend()` कॉल्स** — TUI कभी भी रॉ टर्मिनल पर नहीं गिरता; हर ऑपरेशन इनलाइन चलता है
- **बैकग्राउंड PoC जनरेशन** — `AuditRunner.start_poc_generation()` के माध्यम से एक डेमन थ्रेड के रूप में चलता है, जिसमें JobDetailScreen में लाइव आउटपुट होता है
- **बैकग्राउंड रिपोर्ट जनरेशन** — `AuditRunner.start_report_generation()` के माध्यम से एक डेमन थ्रेड के रूप में चलता है, जिसमें लाइव आउटपुट होता है
- **बैकग्राउंड GitHub ऑडिट** — Textual डायलॉग के माध्यम से स्कोप चयन, ऑडिट `AuditRunner.start_github_audit()` के माध्यम से एक डेमन थ्रेड के रूप में चलता है
- **ContractSelectorDialog** — curses-आधारित `ScopeManager.interactive_select()` को प्रतिस्थापित करने वाला लगभग-फ़ुल-स्क्रीन फ़िल्टर करने योग्य मल्टी-सेलेक्ट मोडल। टॉगल करने के लिए Space, सभी/कोई नहीं के लिए `a`/`n`, फ़िल्टर करने के लिए टाइप करें, रंग-कोडित पहले-ऑडिटेड कॉन्ट्रैक्ट
- **GitHubAuditHelper** — `GitHubAuditor`/`AetherDatabase` के चारों ओर विघटित रैपर जो Textual स्क्रीन से कॉल करने योग्य परमाणु संचालन (`clone_and_discover`, `get_scope_state`, `save_new_scope`, `get_pending_contracts`, `handle_reaudit`) प्रदान करता है
- **इनलाइन सेटिंग्स** — मूल TextInputDialog/SelectDialog के माध्यम से API कुंजी और मॉडल कॉन्फ़िगरेशन, बाहरी सेटअप विज़ार्ड की आवश्यकता नहीं
- **इनलाइन GitHub स्कोप प्रबंधन** — SelectDialog के माध्यम से जारी रखें, पुनः-ऑडिट करें, या नया स्कोप बनाएँ; ContractSelectorDialog के माध्यम से कॉन्ट्रैक्ट चयन
- **6 स्क्रीन फिर से लिखी गईं** — PoCScreen, ReportsScreen, SettingsScreen, NewAuditScreen, HistoryScreen, ResumeScreen — सभी पूरी तरह से इनलाइन
- **50 टेस्ट फ़ाइलों में 770 टेस्ट** पास हो रहे हैं
### v2.2 — Textual TUI डैशबोर्ड
- पूर्ण-स्क्रीन Textual TUI लगातार ऐप, कुंजी बाइंडिंग और 1-सेकंड रीफ़्रेश टाइमर के साथ
- लाइव जॉब टेबल और सत्र लागत बार के साथ MainScreen
- लाइव लॉग व्यूअर, चरण प्रगति बार और मेटाडेटा के साथ JobDetailScreen
- questionary प्रॉम्प्ट्स को प्रतिस्थापित करने वाले मोडल डायलॉग (पुष्टि, टेक्स्ट इनपुट, चयन, चेकबॉक्स, पथ पिकर)
- ThreadDemuxWriter आउटपुट कैप्चर के साथ AuditRunner के माध्यम से बैकग्राउंड ऑडिट एक्ज़ीक्यूशन
- सत्र जॉब रजिस्ट्री के लिए JobManager सिंगलटन
- LLMUsageTracker स्नैपशॉट्स के माध्यम से प्रति-जॉब लागत ट्रैकिंग
### v2.1 — समानांतर ऑडिट, Slither निष्कासन और टेस्ट क्लीनअप
- समानांतर ऑडिट इंजन — `ThreadPoolExecutor` के साथ कई कॉन्ट्रैक्ट एक साथ चलाएँ, 8 समानांतर वर्कर तक कॉन्फ़िगर करने योग्य
- थ्रेड-सुरक्षित प्रगति ट्रैकिंग — लॉकिंग के साथ `ContractAuditStatus`, stdout मल्टीप्लेक्सिंग के लिए `ThreadDemuxWriter`
- ऑडिट-पश्चात सारांश — समानांतर ऑडिट पूरा होने के बाद समेकित परिणाम दृश्य
- LLM उपयोग ट्रैकिंग — तीनों प्रोवाइडर्स में टोकन उपयोग, लागत और API कॉल ट्रैक करें
- Slither पूरी तरह से हटाया गया — सभी डिपेंडेंसी, एकीकरण कोड और टेस्ट हटाए गए (~1200 लाइनें); पैटर्न-आधारित डिटेक्टर + Foundry ABI + regex ही एकमात्र विश्लेषण उपकरण हैं
- टेस्ट सूट क्लीनअप — 40+ पुरानी/धीमी/एकीकरण टेस्ट फ़ाइलें हटाई गईं
### v2.0 — इंटरैक्टिव मेनू TUI
- इंटरैक्टिव मेनू-संचालित TUI प्राथमिक इंटरफ़ेस के रूप में
- स्रोत चयन, फ़ीचर चेकबॉक्स और पुष्टि के साथ निर्देशित ऑडिट विज़ार्ड
- चल रहे GitHub ऑडिट के लिए ऑडिट फिर से शुरू करने की क्षमता
- स्थानीय और GitHub डेटाबेस में एकीकृत ऑडिट इतिहास ब्राउज़र
- मेनू से एकीकृत PoC जनरेशन और रिपोर्ट वर्कफ़्लो
- वैकल्पिक तत्काल ऑडिट के साथ मल्टी-चेन कॉन्ट्रैक्ट फ़ेचिंग
- मेनू से सेटिंग्स प्रबंधन
- मेनू से कंसोल लॉन्च/वापसी
### v1.5 — तीन-प्रोवाइडर LLM समर्थन और उन्नत विश्लेषण
- तीसरे LLM प्रोवाइडर के रूप में Anthropic Claude एकीकरण (Sonnet 4.5, Opus 4.6, Haiku 4.5)
- 6-एजेंट AI ensemble: 2 OpenAI + 2 Gemini + 2 Anthropic स्पेशलिस्ट एजेंट
- अधिकतम उपलब्धता के लिए स्वचालित क्रॉस-प्रोवाइडर फॉलबैक
- अपडेटेड OpenAI मॉडल (GPT-5.3) और Google Gemini मॉडल (3.0 Flash/Pro)
- सेटअप विज़ार्ड Anthropic API कुंजी कॉन्फ़िगरेशन और मॉडल चयन के साथ अपडेट किया गया
- टूटा हुआ generate-foundry CLI कमांड ठीक किया गया
---
## लाइसेंस
Aether को **MIT License** के अंतर्गत वितरित किया जाता है। विवरण के लिए [LICENSE](https://github.com/l33tdawg/aether/blob/HEAD/LICENSE) फ़ाइल देखें।
## लेखक
**Dhillon Andrew Kannabhiran** (@l33tdawg)
- ईमेल: [email protected]
- ट्विटर: [@l33tdawg](https://twitter.com/l33tdawg)
- GitHub: [@l33tdawg](https://github.com/l33tdawg)
## योगदान
योगदान का स्वागत है! कृपया बेझिझक इश्यू सबमिट करें, रिपॉजिटरी फ़ोर्क करें और पुल रिक्वेस्ट बनाएँ।
| श्रेणी | गंभीरता | उदाहरण टोकन |
|---|
| फीस-ऑन-ट्रांसफ़र | HIGH | USDT, STA, PAXG |
| रीबेसिंग टोकन | HIGH | stETH, AMPL, OHM |
| ERC-777 कॉलबैक | HIGH | imBTC |
| फ्लैश-मिंटेबल | HIGH | DAI |
| गैर-मानक रिटर्न | MEDIUM | Old USDT |
| ब्लॉकलिस्ट टोकन | MEDIUM | USDC, USDT |
| पॉज़ेबल टोकन | MEDIUM | USDC |
| कम-दशमलव टोकन | MEDIUM | USDC (6), WBTC (8) |
| ट्रांसफ़र हुक्स | MEDIUM | LINK (ERC-677) |
| अप्रूवल रेस | LOW | विभिन्न |
| एकाधिक एंट्री पॉइंट | LOW | TUSD |
| अपग्रेडेबल टोकन | LOW | USDC v2 |
| पास | उद्देश्य | मॉडल टियर |
|---|
| पास 1 | प्रोटोकॉल समझ — प्रोटोकॉल क्या है, इसके इनवेरिएंट्स, मूल्य प्रवाह, ट्रस्ट धारणाएँ | सस्ता (कैश्ड) |
| पास 2 | अटैक सतह मैपिंग — हर एंट्री पॉइंट, स्टेट रीड्स/राइट्स, रिएंट्रेंसी विंडो | सस्ता (कैश्ड) |
| पास 3 | इनवेरिएंट उल्लंघन विश्लेषण — हर कोड पाथ के विरुद्ध हर इनवेरिएंट की व्यवस्थित जाँच | मज़बूत |
| पास 4 | क्रॉस-फ़ंक्शन इंटरैक्शन — स्टेट डिपेंडेंसी विश्लेषण, अस्थायी निर्भरताएँ, फ्लैश लोन अनुक्रम | मज़बूत |
| पास 5 | प्रतिकूल मॉडलिंग — फ्लैश लोन, MEV, एकाधिक खातों के साथ स्पष्ट हमलावर परिप्रेक्ष्य | मज़बूत |
| पास 6 | बाउंड्री और एज केस — पहले/अंतिम संचालन, शून्य मान, अधिकतम मान, स्व-संदर्भित ऑप्स | मध्यम |
| आर्किटाइप | उदाहरण चेकलिस्ट आइटम |
|---|
| ERC-4626 वॉल्ट | फर्स्ट डिपॉज़िटर इन्फ्लेशन, राउंडिंग दिशा, डोनेशन के माध्यम से शेयर मूल्य हेरफेर |
| लेंडिंग पूल | Oracle मूल्य हेरफेर, लिक्विडेशन थ्रेशोल्ड हेरफेर, बैड डेट कैस्केड, ब्याज दर हेरफेर |
| DEX/AMM | फर्स्ट LP हेरफेर, सैंडविच अटैक, रिज़र्व के माध्यम से प्राइस ओरेकल |
| ब्रिज | क्रॉस-चेन रीप्ले, वैलिडेटर समझौता, टोकन मैपिंग बेमेल, विड्रॉल प्रूफ जालसाज़ी |
| स्टेकिंग | रिवॉर्ड गणना हेरफेर, रिवॉर्ड रेट ओवरफ्लो, अनस्टेकिंग रिएंट्रेंसी |
| गवर्नेंस | फ्लैश लोन गवर्नेंस अटैक, टाइमलॉक बायपास, कोरम हेरफेर |
| Oracle | पुराना मूल्य डेटा, मूल्य विचलन, L2 सीक्वेंसर डाउनटाइम |
| श्रेणी | पैटर्न | उदाहरण |
|---|
| इन्फ्लेशन/शेयर अटैक | 6 | ERC-4626 फर्स्ट डिपॉज़िटर, LP टोकन इन्फ्लेशन, डोनेशन-आधारित हेरफेर |
| रिएंट्रेंसी | 7 | क्लासिक, रीड-ओनली, क्रॉस-फ़ंक्शन, क्रॉस-कॉन्ट्रैक्ट, ERC-777/1155 हुक्स, फ्लैश लोन कॉलबैक |
| Oracle | 5 | स्पॉट प्राइस हेरफेर, TWAP हेरफेर, स्टेलनेस, दशमलव बेमेल, L2 सीक्वेंसर |
| गवर्नेंस | 4 | फ्लैश लोन वोटिंग (Beanstalk), टाइमलॉक बायपास, कोरम हेरफेर |
| ब्रिज | 5 | मैसेज रीप्ले (Nomad), वैलिडेटर समझौता (Ronin), टोकन मैपिंग (Wormhole) |
| प्रिसिज़न/राउंडिंग | 4 | राउंडिंग दिशा, अनचेक्ड ओवरफ्लो, फीस-ऑन-ट्रांसफ़र, रीबेसिंग टोकन ड्रिफ्ट |
| एक्सेस कंट्रोल | 5 | अनइनिशियलाइज़्ड प्रॉक्सी, स्टोरेज टकराव, सेलेक्टर टकराव, delegatecall इंजेक्शन |
| आर्थिक/DeFi | 8 | सैंडविच अटैक, JIT लिक्विडिटी, बैड डेट कैस्केड, रिटर्नडेटा बम, सिग्नेचर रीप्ले |
| लॉजिक | 6 | ऑफ-बाय-वन, लापता डेडलाइन/स्लिपेज, अनचेक्ड रिटर्न, सेल्फ-ट्रांसफ़र अकाउंटिंग |
ofsqpoc | Foundry प्रूफ-ऑफ़-कॉन्सेप्ट जनरेशन |
report | ऑडिट रिपोर्ट जनरेशन (markdown/json/html) |
forge test --json के माध्यम से स्वचालित निष्पादनTextInputDialogSelectDialogCheckboxDialogPathDialogContractSelectorDialogGitHubAuditHelper — TUI एकीकरण के लिए विघटित GitHub ऑडिट संचालनtheme.tcss — सियान-थीम वाला Textual CSScore/cross_contract_analyzer.py — ट्रस्ट बाउंड्री पहचान, union-find ग्रुपिंग, और डिपेंडेंसी कॉन्टेक्स्ट के लिए RelatedContractResolver के साथ इंटर-कॉन्ट्रैक्ट संबंध विश्लेषणcore/token_quirks.py — टोकन quirks डेटाबेस (गैर-मानक ERC-20 व्यवहारों की 12 श्रेणियाँ)core/halmos_runner.py — औपचारिक सत्यापन के लिए Halmos प्रतीकात्मक निष्पादन रनरcore/halmos_property_generator.py — इनवेरिएंट से Halmos सत्यापन गुण स्वचालित रूप से जनरेट करता हैcore/accuracy_tracker.py — ML फीडबैक लूप: प्रति-डिटेक्टर सटीकता ट्रैकिंग, कॉन्फिडेंस वेट समायोजन, गंभीरता कैलिब्रेशनcore/input_validation_detector.pycore/data_decoding_analyzer.pycore/token_quirks.py के माध्यम से स्टैटिक डिटेक्शन पाइपलाइन में एकीकृत