Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
C0deVari4nt — एक वेरिएंट विश्लेषण और विज़ुअलाइज़ेशन टूल जो समान कमजोरियों के लिए कोडबेस को स्कैन करता है | Kitploit
उपकरण/GitHubGitHub/whitesquirrell/c0devari4nt
स्थैतिक कोड विश्लेषण (SAST)भेद्यता विश्लेषणकोड विश्लेषण
GitHubwhitesquirrell/c0devari4nt

C0deVari4nt

एक वेरिएंट विश्लेषण और विज़ुअलाइज़ेशन टूल जो समान कमजोरियों के लिए कोडबेस को स्कैन करता है

रिपॉजिटरी देखें
746404 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

C0deVari4nt

Black Hat Arsenal
C0deVari4nt

विवरण

C0deVari4nt एक वेरिएंट विश्लेषण और विज़ुअलाइज़ेशन उपकरण है जो कोडबेस में समान कमज़ोरियों का निरीक्षण करता है। यह CodeQL का उपयोग करता है, जो एक सिमैंटिक कोड विश्लेषण इंजन है, ताकि उपयोगकर्ता-नियंत्रित CodeQL क्वेरी टेम्पलेट्स के आधार पर कोड को क्वेरी किया जा सके और परिणामों को हमारे क्लाइंट इंटरफ़ेस में भेजा जा सके, जो vis.js और React के साथ बनाया गया है, ताकि आगे की खोज और विज़ुअलाइज़ेशन किया जा सके। यह पिछली कमज़ोरी रिपोर्टों के आधार पर त्वरित और व्यापक वेरिएंट विश्लेषण को सक्षम बनाता है। vis.js विज़ुअलाइज़ेशन सुविधा डेवलपर्स को कमज़ोर कोड पथों में अतिरिक्त अंतर्दृष्टि प्रदान करती है और उन्हें संभावित वेरिएंट को प्रभावी ढंग से ट्राइएज करने की अनुमति देती है।

Tool View

प्रेरणाएँ

दिसंबर 2021 की Log4Shell घटना ने ओपन-सोर्स डेवलपर्स को कमज़ोरी रिपोर्टों का जवाब देने में आने वाली कठिनाइयों को उजागर किया। CVE-2021-44228 के लिए प्रारंभिक पैच के बाद, जिसने अप्रमाणित रिमोट हमलावरों को Log4j 2 के कमज़ोर संस्करणों को चलाने वाले उपकरणों पर नियंत्रण लेने की अनुमति दी, Apache ने संबंधित कमज़ोरियों और अनियंत्रित किनारे के मामलों को संबोधित करने के लिए 3 अतिरिक्त पैच जारी किए।

ओपन-सोर्स डेवलपर्स के पास अक्सर व्यापक कोड समीक्षा में प्रशिक्षण की कमी होती है और वे किसी कमज़ोरी के वेरिएंट की पहचान करने में समस्याओं का सामना करते हैं, जिससे अधूरे पैच होते हैं। यद्यपि कोडबेस के त्वरित विश्लेषण की सुविधा के लिए CodeQL क्वेरी सूट मौजूद हैं, इन सूटों से लौटाए गए परिणामों में महत्वपूर्ण झूठी सकारात्मक दरें हो सकती हैं। इसके अलावा, ये सूट पूर्वनिर्धारित क्वेरी पर निर्भर करते हैं जो वेरिएंट विश्लेषण का समर्थन नहीं करते हैं और व्यक्तिगत कोडबेस के लिए अनुकूलित नहीं होते हैं। इस प्रकार, ओपन-सोर्स प्रोजेक्ट अक्सर कमज़ोरी रिपोर्टों का खंडित तरीके से जवाब देते हैं, जिससे संभावित वेरिएंट छूट जाते हैं।

C0deVari4nt डेवलपर्स को अपने स्वयं के CodeQL क्वेरी लिखने के महत्वपूर्ण ओवरहेड के बिना आसानी से वेरिएंट विश्लेषण करने के लिए एक प्लेटफ़ॉर्म प्रदान करता है। यह डेवलपर्स को कोडबेस-विशिष्ट जानकारी जैसे कि किसी कमज़ोरी का विशेष स्रोत और सिंक प्रदान करके CodeQL टेम्पलेट्स को अनुकूलित करने की सुविधा देता है। परिणाम vis.js द्वारा संचालित ग्राफ़ डेटाबेस दृश्य में विज़ुअलाइज़ किए जाएंगे, ताकि डेवलपर्स तुरंत संभावित वेरिएंट की पहचान कर सकें। इस प्रकार, डेवलपर्स एक ही कमज़ोरी रिपोर्ट से बग की पूरी श्रेणियों को प्रभावी ढंग से संबोधित करने में सक्षम होंगे।

उपकरण घटक

C0deVari4nt को Python, CodeQL, vis.js और React का उपयोग करके एक इंटरैक्टिव GUI एप्लिकेशन के रूप में बनाया गया है, जो उपयोगकर्ता इनपुट लेता है और विभिन्न कमज़ोर कोड पथों के बीच संबंधों को प्रदर्शित करता है।

Tool Architecture

C0deVari4nt में निम्नलिखित 2 मुख्य घटक शामिल हैं:

  • क्लाइंट इंटरफ़ेस: यह घटक React और vis.js ब्राउज़र-आधारित विज़ुअलाइज़ेशन लाइब्रेरी के साथ बनाया गया है। उपयोगकर्ता इस घटक के साथ बातचीत करके CodeQL क्वेरी को अनुकूलित करते हैं और ग्राफ़ विज़ुअलाइज़ेशन दृश्य के माध्यम से CodeQL परिणामों का विश्लेषण करते हैं।
  • API सर्वर: यह घटक Python FastAPI वेब फ्रेमवर्क पर बनाया गया है, जो क्लाइंट इंटरफ़ेस से अनुरोध प्राप्त करता है और CodeQL-तैयार डेटाबेस फ़ाइलों की सूची के विरुद्ध CodeQL कमांड चलाता है। सर्वर फिर पार्स किए गए डेटा परिणामों को वापस क्लाइंट इंटरफ़ेस पर भेजता है।

क्लाइंट इंटरफ़ेस के अधिक विवरण नीचे देखे जा सकते हैं: Tool Architecture

v1 उपयोग

डेटाबेस फ़ोल्डर सेट करना

  • api-server निर्देशिका में cd करें और dbextractor.py <codeql db zip file> चलाकर codeql डेटाबेस सामग्री को अनज़िप करें

बैकएंड सर्वर चलाना

  • api-server में cd करें
  • निर्भरताएँ डाउनलोड करें pip install -r requirements.txt
  • स्थानीय विकास सर्वर को पोर्ट 8000 पर शुरू करने के लिए uvicorn main:app --reload चलाएँ

React इंटरफ़ेस चलाएँ

  • react-gui में cd करें
  • निर्भरताएँ डाउनलोड करें npm i
  • स्थानीय विकास सर्वर शुरू करने के लिए npm start चलाएँ

उपकरण का उपयोग

User Process

  • अपने क्वेरी विकल्पों को विकल्प बॉक्स में इनपुट करें और apply पर क्लिक करें
  • बैकएंड द्वारा अनुरोध प्रोसेस करने के लिए कुछ सेकंड प्रतीक्षा करें
  • पथों को अलग करने और नोड गुणों को देखने के लिए दाएँ प्रॉपर्टी बॉक्स का उपयोग करें

उपयोग

पूर्वनिर्धारित कमज़ोर स्रोतों और सिंक के विरुद्ध कोडबेस चलाएँ (विकल्प 1)

  1. प्रतिबंधित स्ट्रिंग फ़ंक्शंस (Microsoft के सुरक्षा विकास जीवनचक्र (SDL) प्रतिबंधित फ़ंक्शन कॉल के आधार पर) के लिए सभी स्रोत फ़ंक्शन खोजें
  2. स्रोत तर्क पर बाउंड जाँच के बिना strcat फ़ंक्शंस की सभी कॉल खोजें
  3. स्रोत तर्क पर बाउंड जाँच के बिना strncpy फ़ंक्शंस की सभी कॉल खोजें
  4. snprintf कॉल के रिटर्न मान पर बाउंड जाँच न होने के सभी मामले खोजें
    1. उदाहरण: जब ऑपरेशन बफर के अंत तक पहुँचता है और 1 से अधिक वर्ण छोड़ दिए जाते हैं, तो रिटर्न मान बफर आकार से अधिक होगा
  5. पॉइंटर के प्रकार के एक उदाहरण को समाहित करने के लिए पर्याप्त मेमोरी आवंटित किए बिना malloc, calloc या realloc की सभी कॉल खोजें

आपकी पसंद के स्रोतों और सिंक के विरुद्ध कोडबेस चलाएँ (विकल्प 2)

  1. एक खतरनाक सिंक फ़ंक्शन के लिए सभी स्रोत अभिव्यक्तियाँ खोजें
  2. एक खतरनाक सिंक फ़ंक्शन के लिए एक विशिष्ट स्रोत फ़ंक्शन खोजें
  3. एक खतरनाक सिंक फ़ंक्शन के लिए एक विशिष्ट स्रोत फ़ंक्शन खोजें (दूषित फ़ंक्शन)
    1. 2 असंबद्ध फ़ंक्शंस के बीच दूषण स्थानांतरित करने के लिए isAdditionalTaintStep विधि का उपयोग करें
  4. एक खतरनाक सिंक फ़ंक्शन के लिए एक विशिष्ट स्रोत फ़ंक्शन खोजें (दूषित अभिव्यक्ति)
    1. रनटाइम पर समान मान वाले पॉइंटर्स के बीच दूषण स्थानांतरित करने के लिए isAdditionalTaintStep विधि का उपयोग करें

CodeQL परिणामों और नोड्स के बीच संबंधों को सरल बनाना

निम्नलिखित recvfrom को स्रोत, mempool_alloc को अतिरिक्त दूषण चरण और memcpy को सिंक के रूप में लेने वाली क्वेरी के लिए CodeQL परिणामों को दर्शाता है:

neo-1

इस परिणाम में कुल 27 विभिन्न कोड पथों में 180 नोड हैं। परिणाम नीचे एक सरल neo4j इंटरफ़ेस में दर्शाए गए हैं:

neo-2

इस क्वेरी को हमारे उपकरण के माध्यम से चलाने पर, हम प्रत्येक नोड, स्रोत और सिंक की डुप्लिकेट घटनाओं की पहचान करने और नोड्स के संबंधों को मर्ज करने में सक्षम थे।
इसके परिणामस्वरूप कुल 11 अद्वितीय नोड के साथ काफी साफ ग्राफ़ प्राप्त हुआ, जबकि सभी 27 अद्वितीय कोड पथ बरकरार रहे:

neo-3

परिणामों को हमारी पथ लेबलिंग सुविधा के माध्यम से उनके संबंधित पथों में और वर्गीकृत किया जा सकता है:

neo-4

codevariant

टूल डाउनलोड करें