
Solidity और Vyper के लिए स्थैतिक विश्लेषक
एम्पायर हैकिंग स्लैक में शामिल हों
- चर्चाएँ और सहायता
Slither एक Solidity और Vyper स्टैटिक विश्लेषण फ्रेमवर्क है जो Python3 में लिखा गया है। यह भेद्यता डिटेक्टरों का एक सेट चलाता है, कॉन्ट्रैक्ट विवरणों के बारे में दृश्य जानकारी प्रिंट करता है, और आसानी से कस्टम विश्लेषण लिखने के लिए एक API प्रदान करता है। Slither डेवलपर्स को कमजोरियों का पता लगाने, अपनी कोड समझ को बढ़ाने और तेज़ी से कस्टम विश्लेषणों का प्रोटोटाइप बनाने में सक्षम बनाता है।
किसी Hardhat/Foundry/Dapp/Brownie एप्लिकेशन पर Slither चलाएँ:```console slither .
यह पसंदीदा विकल्प है यदि आपके प्रोजेक्ट में निर्भरताएँ हैं क्योंकि Slither स्रोत कोड संकलित करने के लिए अंतर्निहित संकलन ढांचे पर निर्भर करता है।
हालांकि, आप Slither को एक एकल फ़ाइल पर चला सकते हैं जो निर्भरताएँ आयात नहीं करती:```console
slither tests/uninitialized.sol
नोट Slither को Python 3.10+ की आवश्यकता है। यदि आप नहीं हैं समर्थित संकलन फ्रेमवर्क में से किसी एक का उपयोग करने जा रहे हैं, तो आपको solc, Solidity कंपाइलर की आवश्यकता है; हम solc संस्करणों के बीच सुविधाजनक रूप से स्विच करने के लिए solc-select का उपयोग करने की सलाह देते हैं।
uv एक तेज़ Python पैकेज मैनेजर है जो pip से 10-100x तेज़ है।```console
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install slither-analyzer
uvx --from slither-analyzer slither
अपग्रेड करने के लिए:```console
uv tool upgrade slither-analyzer
python3 -m pip install slither-analyzer
अपग्रेड करने के लिए:```console
python3 -m pip install --upgrade slither-analyzer
brew install slither-analyzer
### Git का उपयोग (विकास)```bash
git clone https://github.com/crytic/slither.git && cd slither
# Install as editable for development
uv tool install -e .
# Or use uv run for testing without installation
uv run slither <target>
The -e फ़्लैग एडिटेबल मोड में इंस्टॉल करता है, जिसका अर्थ है कि स्रोत कोड में किए गए परिवर्तन बिना पुनः इंस्टॉल किए तुरंत प्रभावी हो जाते हैं।
Docker इमेज eth-security-toolbox का उपयोग करें। इसमें हमारे सभी सुरक्षा उपकरण और Solidity के हर प्रमुख संस्करण एक ही इमेज में शामिल हैं। /home/share को कंटेनर में /share पर माउंट किया जाएगा।```bash
docker pull trailofbits/eth-security-toolbox
कंटेनर में एक निर्देशिका साझा करने के लिए:```bash
docker run -it -v /home/share:/share trailofbits/eth-security-toolbox
$GIT_TAG को वास्तविक टैग से बदलें) ```YAML
slither [target] --checklist का उपयोग करें।slither [target] --checklist --markdown-root https://github.com/ORG/REPO/blob/COMMIT/ का उपयोग करें (ORG, REPO, COMMIT को बदलें)| संख्या | डिटेक्टर | यह क्या पता लगाता है | प्रभाव | विश्वास |
|---|---|---|---|---|
| 1 | abiencoderv2-array | स्टोरेज abiencoderv2 ऐरे | उच्च | उच्च |
| 2 | arbitrary-send-erc20 | transferFrom मनमाना from का उपयोग करता है | उच्च | उच्च |
| 3 | array-by-reference | स्टोरेज ऐरे को मान द्वारा संशोधित करना | उच्च | उच्च |
| 4 | encode-packed-collision | ABI encodePacked टकराव | उच्च | उच्च |
| 5 | incorrect-shift | शिफ्ट निर्देश में पैरामीटर का क्रम गलत है। | उच्च | उच्च |
| 6 | multiple-constructors | एकाधिक कंस्ट्रक्टर योजनाएं | उच्च | उच्च |
| 7 | name-reused | कॉन्ट्रैक्ट का नाम पुन: उपयोग किया गया | उच्च | उच्च |
| 8 | protected-vars | असुरक्षित चर पाए गए | उच्च | उच्च |
| 9 | public-mappings-nested | नेस्टेड चर वाले सार्वजनिक मैपिंग | उच्च | उच्च |
अधिक जानकारी के लिए देखें
human-summary: कॉन्ट्रैक्ट का मानव-पठनीय सारांश प्रिंट करेंinheritance-graph: प्रत्येक कॉन्ट्रैक्ट के वंशानुक्रम ग्राफ़ को डॉट फ़ाइल में निर्यात करेंcontract-summary: कॉन्ट्रैक्ट का सारांश प्रिंट करेंloc: स्रोत फ़ाइलों (SRC), निर्भरताओं (DEP), और परीक्षण फ़ाइलों (TEST) में पाई गई कोड की कुल पंक्तियों (LOC), स्रोत कोड की पंक्तियों (SLOC), और टिप्पणी कोड की पंक्तियों (CLOC) की गणना करें।entry-points: कॉन्ट्रैक्ट के सभी अवस्था-परिवर्तन प्रवेश बिंदु फंक्शन और उनके चर प्रिंट करेंcall-graph: अनुबंधों का कॉल-ग्राफ़ एक डॉट फ़ाइल में निर्यात करेंcfg: प्रत्येक फ़ंक्शन का CFG निर्यात करेंfunction-summary: फ़ंक्शनों का सारांश प्रिंट करेंvars-and-auth: लिखे गए स्टेट वेरिएबल और फ़ंक्शनों का प्राधिकरण प्रिंट करेंnot-pausable: उन फ़ंक्शनों को प्रिंट करें जो whenNotPaused मॉडिफ़ायर का उपयोग नहीं करते.प्रिंटर चलाने के लिए, --print और अल्पविराम से अलग किए गए प्रिंटरों की सूची का उपयोग करें।
पूरी सूची के लिए प्रिंटर दस्तावेज़ीकरण देखें।
slither-check-upgradeability: delegatecall-आधारित अपग्रेडेबिलिटी की समीक्षा करेंslither-prop: स्वचालित यूनिट परीक्षण और प्रॉपर्टी जनरेशनslither-flat: कोडबेस को फ़्लैट करेंslither-check-erc: ERC की अनुरूपता जाँचेंslither-read-storage: अनुबंधों से स्टोरेज मान पढ़ेंslither-interface: एक अनुबंध के लिए इंटरफ़ेस जनरेट करेंअतिरिक्त उपकरणों के लिए उपकरण दस्तावेज़ीकरण देखें।
कस्टम उपकरण बनाने में सहायता प्राप्त करने के लिए हमसे संपर्क करें.
Slither के आंतरिक भागों पर दस्तावेज़ीकरण यहाँ उपलब्ध है।
Slither का उपयोग या विस्तार करने में सहायता के लिए हमारे Slack चैनल (#ethereum) पर आने के लिए स्वतंत्र महसूस करें।
मैं मॉक या परीक्षणों को कैसे बाहर करूं?
मैं "अज्ञात फ़ाइल" या संकलन संबंधी समस्याओं को कैसे ठीक करूं?
slither contract.sol विफल हो जाएगा।
इसके बजाय, contracts/ के पैरेंट डायरेक्टरी में slither . का उपयोग करें (जब आप ls चलाते हैं तो आपको contracts/ दिखाई देना चाहिए)।
यदि आपके पास node_modules/ फ़ोल्डर है, तो यह contracts/ के समान डायरेक्टरी में होना चाहिए। यह सत्यापित करने के लिए कि यह समस्या slither से संबंधित है,
आप जिस फ्रेमवर्क का उपयोग कर रहे हैं उसके लिए संकलन कमांड चलाएं, जैसे npx hardhat compile। यह सफलतापूर्वक काम करना चाहिए;
अन्यथा, slither का संकलन इंजन, crytic-compile, AST उत्पन्न नहीं कर सकता।Slither AGPLv3 लाइसेंस के तहत लाइसेंस प्राप्त और वितरित है। यदि आप शर्तों के अपवाद की तलाश में हैं तो हमसे संपर्क करें.
| शीर्षक | उपयोग | लेखक | प्रकाशन | कोड |
|---|---|---|---|---|
| ReJection: AST-आधारित पुनःप्रवेश भेद्यता पहचान विधि | Slither के ऊपर निर्मित AST-आधारित विश्लेषण | Rui Ma, Zefeng Jian, Guangyuan Chen, Ke Ma, Yujia Chen | CTCIS 19 | - |
| MPro: स्मार्ट कॉन्ट्रैक्ट के स्केलेबल परीक्षण के लिए स्थैतिक और प्रतीकात्मक विश्लेषण का संयोजन | Slither के माध्यम से डेटा निर्भरता का लाभ उठाएं | William Zhang, Sebastian Banescu, Leodardo Pasos, Steven Stewart, Vijay Ganesh | ISSRE 2019 | MPro |
| ETHPLOIT: फ़ज़िंग से स्मार्ट कॉन्ट्रैक्ट्स के विरुद्ध कुशल एक्सप्लॉइट जनरेशन तक | Slither के माध्यम से डेटा निर्भरता का लाभ उठाएं | Qingzhao Zhang, Yizhuo Wang, Juanru Li, Siqi Ma | SANER 20 | - |
| Ethereum स्मार्ट कॉन्ट्रैक्ट्स का सत्यापन: एक मॉडल जाँच दृष्टिकोण | Slither के CFG के ऊपर निर्मित प्रतीकात्मक निष्पादन | Tam Bang, Hoang H Nguyen, Dung Nguyen, Toan Trieu, Tho Quan | IJMLC 20 | - |
| स्मार्ट कॉन्ट्रैक्ट मरम्मत | Slither के भेद्यता डिटेक्टरों पर निर्भर करें | Xiao Liang Yu, Omar Al-Bataineh, David Lo, Abhik Roychoudhury | TOSEM 20 | SCRepair |
| स्मार्ट कॉन्ट्रैक्ट्स में लूप्स को डिमिस्टिफाई करना | Slither के माध्यम से डेटा निर्भरता का लाभ उठाएं | Ben Mariano, Yanju Chen, Yu Feng, Shuvendu Lahiri, Isil Dillig | ASE 20 | - |
| स्मार्ट कॉन्ट्रैक्ट्स में लूप्स का ट्रेस-आधारित डायनेमिक गैस अनुमान | लूप्स का पता लगाने के लिए Slither के CFG का उपयोग करें | Chunmiao Li, Shijie Nie, Yang Cao, Yijun Yu, Zhenjiang Hu | IEEE Open J. Comput. Soc. 1 (2020) | - |
| SAILFISH: सेकंड्स में स्मार्ट कॉन्ट्रैक्ट स्थिति-असंगति बग्स की जाँच |
यदि आप किसी शैक्षणिक कार्य पर Slither का उपयोग कर रहे हैं, तो Crytic $10k अनुसंधान पुरस्कार के लिए आवेदन करने पर विचार करें।
| 10 | rtlo | दाएँ-से-बाएँ ओवरराइड नियंत्रण वर्ण का उपयोग किया गया है | उच्च | उच्च |
| 11 | shadowing-state | स्टेट वेरिएबल शैडोइंग | उच्च | उच्च |
| 12 | suicidal | कोई भी कॉन्ट्रैक्ट को नष्ट कर सकने वाले फंक्शन | उच्च | उच्च |
| 13 | uninitialized-state | अप्रारंभिक स्टेट वेरिएबल | उच्च | उच्च |
| 14 | uninitialized-storage | अप्रारंभिक स्टोरेज वेरिएबल | उच्च | उच्च |
| 15 | unprotected-upgrade | असुरक्षित अपग्रेडेबल कॉन्ट्रैक्ट | उच्च | उच्च |
| 16 | arbitrary-send-erc20-permit | transferFrom permit के साथ मनमाना from का उपयोग करता है | उच्च | मध्यम |
| 17 | arbitrary-send-eth | फंक्शन जो मनमाने गंतव्यों को Ether भेजते हैं | उच्च | मध्यम |
| 18 | controlled-array-length | दूषित ऐरे लंबाई असाइनमेंट | उच्च | मध्यम |
| 19 | controlled-delegatecall | नियंत्रित delegatecall गंतव्य | उच्च | मध्यम |
| 20 | delegatecall-loop | लूप के अंदर delegatecall का उपयोग करने वाले Payable फंक्शन | उच्च | मध्यम |
| 21 | incorrect-exp | गलत घातांक | उच्च | मध्यम |
| 22 | incorrect-return | यदि असेंबली मोड में गलत तरीके से return का उपयोग किया गया है। | उच्च | मध्यम |
| 23 | msg-value-loop | लूप के अंदर msg.value | उच्च | मध्यम |
| 24 | reentrancy-eth | रीएंट्रेंसी कमजोरियाँ (ईथर की चोरी) | उच्च | मध्यम |
| 25 | reentrancy-balance | रीएंट्रेंसी कमजोरियाँ जो पुरानी बैलेंस जाँच की ओर ले जाती हैं | उच्च | मध्यम |
| 26 | return-leave | यदि leave के बजाय return का उपयोग किया गया है। | उच्च | मध्यम |
| 27 | storage-array | हस्ताक्षरित स्टोरेज पूर्णांक ऐरे कंपाइलर बग | उच्च | मध्यम |
| 28 | unchecked-transfer | अनियंत्रित टोकन स्थानांतरण | उच्च | मध्यम |
| 29 | weak-prng | कमजोर PRNG | उच्च | मध्यम |
| 30 | domain-separator-collision | ERC20 टोकन का पता लगाता है जिनमें एक फंक्शन है जिसका हस्ताक्षर EIP-2612 के DOMAIN_SEPARATOR() से टकराता है | मध्यम | उच्च |
| 31 | enum-conversion | खतरनाक enum रूपांतरण का पता लगाएं | मध्यम | उच्च |
| 32 | erc20-interface | गलत ERC20 इंटरफ़ेस | मध्यम | उच्च |
| 33 | erc721-interface | गलत ERC721 इंटरफ़ेस | मध्यम | उच्च |
| 34 | incorrect-equality | खतरनाक सख्त समानताएं | मध्यम | उच्च |
| 35 | locked-ether | Ether को लॉक करने वाले कॉन्ट्रैक्ट | मध्यम | उच्च |
| 36 | mapping-deletion | एक संरचना वाले मैपिंग पर विलोपन | मध्यम | उच्च |
| 37 | pyth-deprecated-functions | Pyth के बहिष्कृत फंक्शन का पता लगाएं | मध्यम | उच्च |
| 38 | pyth-unchecked-confidence | पता लगाएं जब Pyth मूल्य का आत्मविश्वास स्तर जांचा नहीं गया है | मध्यम | उच्च |
| 39 | pyth-unchecked-publishtime | पता लगाएं जब Pyth मूल्य का publishTime जांचा नहीं गया है | मध्यम | उच्च |
| 40 | shadowing-abstract | एब्सट्रैक्ट कॉन्ट्रैक्ट से स्टेट वेरिएबल शैडोइंग | मध्यम | उच्च |
| 41 | tautological-compare | किसी चर की स्वयं से तुलना करना हमेशा सत्य या असत्य लौटाता है, तुलना पर निर्भर करता है | मध्यम | उच्च |
| 42 | tautology | टॉटोलॉजी या विरोधाभास | मध्यम | उच्च |
| 43 | write-after-write | अप्रयुक्त लेखन | मध्यम | उच्च |
| 44 | boolean-cst | बूलियन स्थिरांक का दुरुपयोग | मध्यम | मध्यम |
| 45 | chronicle-unchecked-price | पता लगाएं जब Chronicle मूल्य जांचा नहीं गया है। | मध्यम | मध्यम |
| 46 | constant-function-asm | असेंबली कोड का उपयोग करने वाले स्थिर फंक्शन | मध्यम | मध्यम |
| 47 | constant-function-state | अवस्था बदलने वाले स्थिर फंक्शन | मध्यम | मध्यम |
| 48 | divide-before-multiply | अशुद्ध अंकगणितीय संक्रिया क्रम | मध्यम | मध्यम |
| 49 | gelato-unprotected-randomness | असुरक्षित फंक्शन के अंदर _requestRandomness का कॉल | मध्यम | मध्यम |
| 50 | out-of-order-retryable | क्रम से बाहर रिट्रायेबल लेनदेन | मध्यम | मध्यम |
| 51 | reentrancy-no-eth | रीएंट्रेंसी कमजोरियाँ (ईथर की कोई चोरी नहीं) | मध्यम | मध्यम |
| 52 | reused-constructor | पुन: उपयोग किया गया बेस कंस्ट्रक्टर | मध्यम | मध्यम |
| 53 | tx-origin | tx.origin का खतरनाक उपयोग | मध्यम | मध्यम |
| 54 | unchecked-lowlevel | अनियंत्रित निम्न-स्तरीय कॉल | मध्यम | मध्यम |
| 55 | unchecked-send | अनियंत्रित send | मध्यम | मध्यम |
| 56 | uninitialized-local | अप्रारंभिक स्थानीय चर | मध्यम | मध्यम |
| 57 | unused-return | अप्रयुक्त वापसी मान | मध्यम | मध्यम |
| 58 | chainlink-feed-registry | पता लगाएं जब chainlink फीड रजिस्ट्री का उपयोग किया गया है | निम्न | उच्च |
| 59 | incorrect-modifier | मॉडिफ़ायर जो डिफ़ॉल्ट मान लौटा सकते हैं | निम्न | उच्च |
| 60 | optimism-deprecation | पता लगाएं जब बहिष्कृत Optimism predeploy या फंक्शन का उपयोग किया गया है। | निम्न | उच्च |
| 61 | shadowing-builtin | बिल्ट-इन प्रतीक शैडोइंग | निम्न | उच्च |
| 62 | shadowing-local | स्थानीय चर शैडोइंग | निम्न | उच्च |
| 63 | uninitialized-fptr-cst | कंस्ट्रक्टर में अप्रारंभिक फंक्शन पॉइंटर कॉल | निम्न | उच्च |
| 64 | variable-scope | उनके घोषणा से पहले उपयोग किए गए स्थानीय चर | निम्न | उच्च |
| 65 | void-cst | कंस्ट्रक्टर कॉल लागू नहीं हुआ | निम्न | उच्च |
| 66 | calls-loop | एक लूप में एकाधिक कॉल | निम्न | मध्यम |
| 67 | events-access | ईवेंट एक्सेस कंट्रोल का अभाव | निम्न | मध्यम |
| 68 | events-maths | ईवेंट अंकगणित का अभाव | निम्न | मध्यम |
| 69 | incorrect-unary | खतरनाक यूनरी अभिव्यक्तियाँ | निम्न | मध्यम |
| 70 | missing-zero-check | शून्य पता सत्यापन का अभाव | निम्न | मध्यम |
| 71 | reentrancy-benign | सौम्य रीएंट्रेंसी कमजोरियाँ | निम्न | मध्यम |
| 72 | reentrancy-events | रीएंट्रेंसी कमजोरियाँ जो क्रम से बाहर ईवेंट की ओर ले जाती हैं | निम्न | मध्यम |
| 73 | return-bomb | एक निम्न स्तरीय कॉलर अप्रत्याशित रूप से सभी कॉलर्स गैस का उपभोग कर सकता है। | निम्न | मध्यम |
| 74 | timestamp | block.timestamp का खतरनाक उपयोग | निम्न | मध्यम |
| 75 | assembly | असेंबली उपयोग | सूचनात्मक | उच्च |
| 76 | assert-state-change | एसर्ट स्टेट परिवर्तन | सूचनात्मक | उच्च |
| 77 | boolean-equal | बूलियन स्थिरांक से तुलना | सूचनात्मक | उच्च |
| 78 | cyclomatic-complexity | उच्च (>11) चक्रीय जटिलता वाले फंक्शन का पता लगाता है | सूचनात्मक | उच्च |
| 79 | deprecated-standards | बहिष्कृत Solidity मानक | सूचनात्मक | उच्च |
| 80 | erc20-indexed | अनुक्रमित नहीं किए गए ERC20 ईवेंट पैरामीटर | सूचनात्मक | उच्च |
| 81 | function-init-state | स्टेट वेरिएबल को आरंभ करने वाला फंक्शन | सूचनात्मक | उच्च |
| 82 | incorrect-using-for | using-for स्टेटमेंट के उपयोग का पता लगाता है जब किसी दिए गए लाइब्रेरी से कोई फंक्शन दिए गए प्रकार से मेल नहीं खाता | सूचनात्मक | उच्च |
| 83 | low-level-calls | निम्न स्तरीय कॉल | सूचनात्मक | उच्च |
| 84 | missing-inheritance | वंशानुक्रम का अभाव | सूचनात्मक | उच्च |
| 85 | naming-convention | Solidity नामकरण परंपराओं का अनुपालन | सूचनात्मक | उच्च |
| 86 | pragma | यदि विभिन्न प्राग्मा निर्देशों का उपयोग किया गया है | सूचनात्मक | उच्च |
| 87 | redundant-statements | अनावश्यक स्टेटमेंट | सूचनात्मक | उच्च |
| 88 | solc-version | गलत Solidity संस्करण | सूचनात्मक | उच्च |
| 89 | unimplemented-functions | अकार्यान्वित फंक्शन | सूचनात्मक | उच्च |
| 90 | unindexed-event-address | पता पैरामीटर वाले ईवेंट लेकिन कोई अनुक्रमित पैरामीटर नहीं | सूचनात्मक | उच्च |
| 91 | unused-state | अप्रयुक्त स्टेट वेरिएबल | सूचनात्मक | उच्च |
| 92 | costly-loop | लूप में महंगी संक्रियाएं | सूचनात्मक | मध्यम |
| 93 | dead-code | फंक्शन जो उपयोग नहीं किए गए हैं | सूचनात्मक | मध्यम |
| 94 | reentrancy-unlimited-gas | send और transfer के माध्यम से रीएंट्रेंसी कमजोरियाँ | सूचनात्मक | मध्यम |
| 95 | too-many-digits | संख्यात्मक संकेतन सर्वोत्तम प्रथाओं का अनुपालन | सूचनात्मक | मध्यम |
| 96 | cache-array-length | उन for लूप का पता लगाता है जो अपनी लूप शर्त में किसी स्टोरेज ऐरे के length सदस्य का उपयोग करते हैं और उसे संशोधित नहीं करते। | अनुकूलन | उच्च |
| 97 | constable-states | स्टेट वेरिएबल जिन्हें स्थिरांक घोषित किया जा सकता है | अनुकूलन | उच्च |
| 98 | external-function | सार्वजनिक फंक्शन जिसे बाह्य घोषित किया जा सकता है | अनुकूलन | उच्च |
| 99 | immutable-states | स्टेट वेरिएबल जिन्हें अपरिवर्तनीय घोषित किया जा सकता है | अनुकूलन | उच्च |
| 100 | var-read-using-this | कॉन्ट्रैक्ट this का उपयोग करके अपना स्वयं का चर पढ़ता है | अनुकूलन | उच्च |
| एक स्टोरेज निर्भरता ग्राफ़ बनाने के लिए SlithIR पर निर्भर करें |
| Priyanka Bose, Dipanjan Das, Yanju Chen, Yu Feng, Christopher Kruegel, and Giovanni Vigna |
| S&P 22 |
| Sailfish |
| SolType: Solidity में अंकगणितीय अतिप्रवाह के लिए रिफाइनमेंट प्रकार | रिफाइनमेंट प्रकार प्रणाली बनाने के लिए Slither का फ्रंटएंड के रूप में उपयोग करें | Bryan Tan, Benjamin Mariano, Shuvendu K. Lahiri, Isil Dillig, Yu Feng | POPL 22 | - |
| Do Not Rug on Me: स्वचालित स्कैम पहचान के लिए मशीन लर्निंग तकनीकों का लाभ उठाना | टोकन की विशेषताएँ निकालने के लिए Slither का उपयोग करें (मिंटेबल, पॉज़ेबल, ..) | Mazorra, Bruno, Victor Adan, and Vanesa Daza | Mathematics 10.6 (2022) | - |
| MANDO: स्मार्ट कॉन्ट्रैक्ट भेद्यताओं की सूक्ष्म-स्तरीय पहचान के लिए बहु-स्तरीय विषम ग्राफ एम्बेडिंग | CFG और कॉल ग्राफ़ निकालने के लिए Slither का उपयोग करें | Hoang Nguyen, Nhat-Minh Nguyen, Chunyao Xie, Zahra Ahmadi, Daniel Kudendo, Thanh-Nam Doan and Lingxiao Jiang | IEEE 9th International Conference on Data Science and Advanced Analytics (DSAA, 2022) | ge-sc |
| स्मार्ट कॉन्ट्रैक्ट्स में मूल्य वृद्धि TOD भेद्यताओं का स्वचालित ऑडिटिंग | CFG और डेटा निर्भरताएँ निकालने के लिए Slither का उपयोग करें | Sidi Mohamed Beillahi, Eric Keilty, Keerthi Nelaturu, Andreas Veneris, and Fan Long | 2022 IEEE International Conference on Blockchain and Cryptocurrency (ICBC) | Smart-Contract-Repair |
| स्मार्ट कॉन्ट्रैक्ट्स के लिए एक्सेस कंट्रोल नीतियों का मॉडलिंग और प्रवर्तन | Slither की डेटा निर्भरताओं का विस्तार करें | Jan-Philipp Toberg, Jonas Schiffl, Frederik Reiche, Bernhard Beckert, Robert Heinrich, Ralf Reussner | IEEE International Conference on Decentralized Applications and Infrastructures (DAPPS), 2022 | SolidityAccessControlEnforcement |
| डीप लर्निंग और मल्टीमॉडल निर्णय फ्यूजन पर आधारित स्मार्ट कॉन्ट्रैक्ट भेद्यता पहचान | CFG निकालने के लिए Slither का उपयोग करें | Weichu Deng, Huanchun Wei, Teng Huang, Cong Cao, Yun Peng, and Xuan Hu | Sensors 2023, 23, 7246 | - |
| स्मार्ट कॉन्ट्रैक्ट कोड पुन: उपयोग में अज्ञात को प्रकट करने के लिए सिमेंटिक-समृद्ध कोड ज्ञान ग्राफ | कोड विशेषताएँ निकालने के लिए Slither का उपयोग करें (CFG, फ़ंक्शन, पैरामीटर प्रकार, ..) | Qing Huang, Dianshu Liao, Zhenchang Xing, Zhengkang Zuo, Changjing Wang, Xin Xia | ACM Transactions on Software Engineering and Methodology, 2023 | - |
| सूक्ष्म-स्तरीय स्थिति एक्सेस के साथ स्मार्ट कॉन्ट्रैक्ट समानांतर निष्पादन | स्टेट एक्सेस ग्राफ़ बनाने के लिए Slither का उपयोग करें | Xiaodong Qi, Jiao Jiao, Yi Li | International Conference on Distributed Computing Systems (ICDCS), 2023 | - |
| खराब सेब: विकेंद्रीकृत पारिस्थितिकी तंत्रों में केंद्रीकृत सुरक्षा जोखिमों को समझना | Slither के ऊपर एक आंतरिक विश्लेषण लागू करें | Kailun Yan , Jilian Zhang , Xiangyu Liu , Wenrui Diao , Shanqing Guo | ACM Web Conference April 2023 | - |
| अंतराल विश्लेषण का उपयोग करके स्मार्ट कॉन्ट्रैक्ट्स में भेद्यताओं की पहचान करना | Slither के ऊपर 4 डिटेक्टर बनाएं | Ştefan-Claudiu Susan, Andrei Arusoaie | FROM 2023 | - |
| Ethereum ब्लॉकचेन स्मार्ट कॉन्ट्रैक्ट्स का स्टोरेज स्थिति विश्लेषण और निष्कर्षण (खुले एक्सेस में कोई PDF नहीं) | Slither के CFG और AST पर निर्भर करें | Maha Ayub , Tania Saleem , Muhammad Janjua , Talha Ahmad | TOSEM 2023 | SmartMuv |