
स्मार्ट कॉन्ट्रैक्ट्स में शोषण योग्य बग्स को समझना

इस परियोजना का उद्देश्य Web3 डेवलपर्स और सुरक्षा विश्लेषकों के लिए एक मूल्यवान संसाधन उपलब्ध कराना है, ताकि स्मार्ट कॉन्ट्रैक्ट्स में शोषणीय बग्स की उनकी समझ को सुगम बनाया जा सके। हम code4rena से निकाले गए शोषणीय बग्स का गहन विश्लेषण करते हैं और प्रत्येक बग को उसकी प्रकृति के अनुसार वर्गीकृत करते हैं।
हमारे प्रारंभिक शोध से पता चलता है कि स्मार्ट कॉन्ट्रैक्ट्स में शोषणीय बग्स का एक उल्लेखनीय अनुपात कार्यात्मक बग्स (functional bugs) है, जिन्हें रीएंट्रेंसी (reentrancy) जैसे सरल और सामान्य ओरेकल्स का उपयोग करके नहीं पहचाना जा सकता। हमारा उद्देश्य ऐसे बग्स के महत्व के बारे में जागरूकता बढ़ाना और चिकित्सकों को उन्हें पहचानने के लिए अधिक परिष्कृत और सूक्ष्म स्वचालित सिमेंटिक ओरेकल्स विकसित करने के लिए प्रोत्साहित करना है।
स्मार्ट कॉन्ट्रैक्ट्स में शोषणीय बग्स की एक महत्वपूर्ण संख्या कार्यात्मक बग्स की श्रेणी में आती है, जिन्हें सरल और सामान्य ओरेकल्स का उपयोग करके नहीं पहचाना जा सकता।
कृपया ध्यान दें कि यह रिपॉजिटरी वर्तमान में सक्रिय विकास के दौर से गुजर रही है, और चल रही code4rena प्रतियोगिताओं के कारण डेटा समय के साथ बदल सकता है।
डेटासेट चार फ़ोल्डरों में व्यवस्थित है:
हम सर्वेक्षण किए गए बग्स को उनकी प्रकृति के आधार पर तीन मुख्य श्रेणियों में वर्गीकृत करते हैं:
चूंकि कार्यात्मक बग्स का वर्गीकरण अस्पष्ट हो सकता है, हम अपने वर्गीकरण मानकों को बेहतर बनाने के लिए सुझावों का स्वागत करते हैं। आप हमारे दस्तावेज़ में अधिक विस्तृत लेबल जानकारी पा सकते हैं, और अधिक जानकारी के लिए हम आपको हमारे वर्तमान वर्गीकरण दिशानिर्देशों को देखने के लिए प्रोत्साहित करते हैं।
हमारा लक्ष्य भेद्यता पहचान तकनीकों की एक व्यापक सूची बनाना है जो Web3 डेवलपर्स और सुरक्षा विश्लेषकों के लिए एक मूल्यवान संसाधन होगी। हम दो मुख्य श्रेणियों पर ध्यान केंद्रित करेंगे:
हम सूची को विस्तारित और बेहतर बनाने में मदद के लिए समुदाय से किसी भी अतिरिक्त सुझाव या योगदान का हार्दिक स्वागत करते हैं।
हमारा मानना है कि भविष्य के web3 सुरक्षा प्रयास कार्यात्मक बग्स की पहचान और संबंधित ओरेकल्स विकसित करने को प्राथमिकता देंगे। इसके लिए, हम उन तकनीकों की एक सूची संकलित करने का इरादा रखते हैं जो स्वचालित सिमेंटिक ओरेकल्स के निर्माण में मार्गदर्शन प्रदान करती हैं। ये तकनीकें विभिन्न सामग्रियों से प्राप्त की जाएंगी, जैसे सहकर्मी-समीक्षित शोध पत्र, प्री-प्रिंट, उद्योग उपकरण और ऑनलाइन संसाधन।
इस अनुभाग में वे ओपन-सोर्स तकनीकें शामिल होंगी जो सार्वजनिक रूप से उपलब्ध हैं और वर्तमान में सक्रिय विकास में हैं। इन तकनीकों का उपयोग Web3 डेवलपर्स और सुरक्षा विश्लेषकों द्वारा सीधे या अन्य उपकरणों के लिए निर्माण खंड के रूप में किया जा सकता है। हम सोर्स-कोड स्तर की तकनीकों को प्राथमिकता देते हैं, जो Web3 विकास और ऑडिटिंग संदर्भों के लिए बेहतर अनुकूल हैं।
| तकनीक | डेवलपर | विवरण | सुरक्षा-संबंधी कीवर्ड्स |
|---|---|---|---|
| Slither | Trail of Bits | स्टेटिक विश्लेषण फ्रेमवर्क | Vulnerability Detectors, SlithIR |
| Aderyn | Cyfrin | स्टेटिक विश्लेषण फ्रेमवर्क | Static Analyzer, Custom Detectors, Markdown Reports |
| Foundry | Paradigm | विकास टूलचेन | Fuzzing, Stateful Fuzzing (Invariant Testing), Differential Testing |
| Echidna | Trail of Bits | फज़र | Fuzzing, Stateful Fuzzing (Invariant Testing), CI/CD |
| Optik | Trail of Bits | हाइब्रिड फज़र (प्रतीकात्मक निष्पादन + फज़िंग) | Fuzzing, Stateful Fuzzing, Symbolic Execution |
| Woke |
| तकनीक | भाषा | विवरण | सुरक्षा-संबंधी कीवर्ड्स |
|---|---|---|---|
| Move Prover | Move | औपचारिक विनिर्देश और सत्यापन | Formal Verification |
| संसाधन | कीवर्ड्स |
|---|---|
| Academic Smart Contract Papers | शैक्षणिक पेपर सूची |
| DeFi Hacks Reproduce - Foundry | हमले का पुनरुत्पादन |
| Smart Contract Security Verification Standard | सुरक्षा जाँच सूची |
| Awesome MythX Smart Contract Security Tools | सुरक्षा विश्लेषण सेवा |
| Common Security Properties of Smart Contracts | सुरक्षा अनुपालन सूट |
| Immunefi PoC Templates | PoC टेम्पलेट |
| Awesome MEV Resources | MEV संसाधन |
| Front-Running Attack Benchmark Construction and Vulnerability Detection Technique Evaluation | फ्रंट-रनिंग डेटासेट |
| Ultimate DeFi & Blockchain Research Base | ब्लॉकचेन सुरक्षा सब-इन-वन |
| Common Fork Bugs | शोषण डेटासेट |
हम अपनी परियोजना में सभी प्रकार के योगदानों का स्वागत करते हैं, जिनमें शामिल हैं लेकिन इन्हीं तक सीमित नहीं:
results/contests.csv में किसी भी लापता defillama इकाइयों को भरना।अधिक विवरण हमारे योगदान दिशानिर्देशों में पाए जा सकते हैं।
यदि आप किसी शैक्षणिक प्रकाशन के लिए हमारे डेटासेट का उपयोग कर रहे हैं, तो हम निम्नलिखित कार्य के उद्धरण की सराहना करेंगे:``` @inproceedings{DBLP:conf/icse/ZhangZXL23, author = {Zhuo Zhang and Brian Zhang and Wen Xu and Zhiqiang Lin}, title = {Demystifying Exploitable Bugs in Smart Contracts}, booktitle = {{ICSE}}, pages = {615--627}, publisher = {{IEEE}}, year = {2023} }
## स्पष्टीकरण
कृपया हमारे वर्गीकरण [दस्तावेज़](https://github.com/zhangzhuosjtu/web3bugs/blob/main/docs/classification.md) देखें।
## आभार
हम [code4rena](https://code4rena.com/) को यह बहुमूल्य जानकारी सार्वजनिक रूप से उपलब्ध कराने के लिए अपनी हार्दिक धन्यवाद देना चाहते हैं।
<details>
<summary>हमारी सराहना उन योगदानकर्ताओं को भी जाती है जिन्होंने अपना बहुमूल्य योगदान दिया।</summary></br>
+ [__ItsNio__](https://github.com/niothefirst)
+ [__Wen Xu__](https://github.com/tarafans)
+ [__Patrick Collins__](https://github.com/PatrickAlphaC)
+ [__Meng Xu__](https://twitter.com/meng_xu_cs)
+ [__y3s0n__](https://github.com/CharesFang)
+ [__William Aaron Cheung__](https://github.com/Troublor)
+ [__soaphorn__](https://github.com/soaphorn)
+ [__Fabio Gritti__](https://github.com/degrigis)
+ [__Yannick__](https://twitter.com/MillusPontius)
</details>
| Ackee Blockchain |
| विकास टूलचेन |
| Cross-chain Testing, Invariant Testing, Vulnerability Detectors, IR |
| 4naly3er | Picodes | स्टेटिक स्कैनर | Code4rena Pre-content Testing |
| Manticore | Trail of Bits | प्रतीकात्मक निष्पादन उपकरण | Symbolic Execution, Property Testing |
| Halmos | a16z | प्रतीकात्मक बाउंडेड मॉडल चेकर | Symbolic Execution, Bound Checker |
| Solidity SMTChecker | Ethereum Foundation | प्रतीकात्मक निष्पादन द्वारा औपचारिक सत्यापन | Solidity, Formal Verification, Symbolic Execution |
| Mythril | Consensys | प्रतीकात्मक निष्पादन उपकरण | Symbolic Execution, On-Chain Analysis, Vulnerability Detectors, Taint Analysis |
| Pyrometer [WIP] | Nascent | प्रतीकात्मक निष्पादन उपकरण | Symbolic Execution, Abstract Interpretation |
| greed | UCSB Seclab | स्टेटिक/प्रतीकात्मक विश्लेषण फ्रेमवर्क | Symbolic Execution, Bound Checker, Static Analyses, Property Testing |
| ethpwn | ethpwn | गतिशील विश्लेषण/डीबगिंग | EVM simulations, EVM debugging |