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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
gokart — गो कोड को सुरक्षित करने के लिए एक स्थैतिक विश्लेषण उपकरण | Kitploit
उपकरण/GitHubGitHub/praetorian-inc/gokart
स्थैतिक कोड विश्लेषण (SAST)भेद्यता विश्लेषणकोड विश्लेषणDevSecOpsसीक्रेट डिटेक्शनगलत कॉन्फ़िगरेशनArchived
GitHubpraetorian-inc/gokart

gokart

गो कोड को सुरक्षित करने के लिए एक स्थैतिक विश्लेषण उपकरण

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

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

सभी देखें →

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

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

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

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

GoKart - Go सुरक्षा स्थैतिक विश्लेषण

CI Release

GoKart Go भाषा के लिए एक स्थैतिक विश्लेषण उपकरण है जो Go स्रोत कोड के SSA (एकल स्थैतिक असाइनमेंट) रूप का उपयोग करके कमजोरियाँ ढूँढता है। यह चर और फ़ंक्शन तर्कों के स्रोत का पता लगाने में सक्षम है ताकि यह निर्धारित किया जा सके कि इनपुट स्रोत सुरक्षित हैं या नहीं, जो अन्य Go सुरक्षा स्कैनर की तुलना में झूठी सकारात्मकता (false positives) की संख्या को कम करता है। उदाहरण के लिए, एक SQL क्वेरी जो एक चर के साथ संयोजित (concatenated) की गई है, उसे पारंपरिक रूप से SQL इंजेक्शन के रूप में चिह्नित किया जा सकता है; हालाँकि, GoKart यह पता लगा सकता है कि वह चर वास्तव में एक स्थिरांक (constant) या स्थिरांक के बराबर है, जिस स्थिति में कोई कमजोरी नहीं है।

GoKart Chariot को भी सशक्त बनाने में मदद करता है, जो Praetorian का सुरक्षा प्लेटफ़ॉर्म है जो आपके स्रोत कोड और क्लाउड वातावरण में कमजोरियाँ खोजने, प्रबंधित करने और ठीक करने में सहायता करता है। Chariot आपके स्रोत कोड पर स्वचालित, निरंतर GoKart स्कैन चलाना आसान बनाता है। यदि आप GoKart आज़माना चाहते हैं, तो आप यहाँ क्लिक करके मिनटों में एक मुफ्त Chariot खाता सेट कर सकते हैं।

हमने GoKart क्यों बनाया

स्थैतिक विश्लेषण स्रोत कोड में कमजोरियाँ खोजने की एक शक्तिशाली तकनीक है। हालाँकि, इस दृष्टिकोण में शोर (noise) की समस्या रही है - अर्थात, कई स्थैतिक विश्लेषण उपकरण काफी कुछ "कमजोरियाँ" ढूँढ़ लेते हैं जो वास्तव में वास्तविक नहीं होती हैं। इससे डेवलपर्स में घर्षण (friction) पैदा हुआ है क्योंकि उपयोगकर्ता बार-बार "भेड़िया रोने" वाले उपकरणों से थक जाते हैं।

GoKart का उद्देश्य यह संबोधित करना था: क्या हम मौजूदा उपकरणों की तुलना में काफी कम झूठी सकारात्मकता दर (false positive rate) वाला स्कैनर बना सकते हैं? हमारे प्रयोगों के आधार पर उत्तर हाँ है। स्रोत-से-सिंक (source-to-sink) ट्रेसिंग और SSA का लाभ उठाकर, GoKart चर असाइनमेंट के बीच वेरिएबल टैन्ट को ट्रैक करने में सक्षम है, जिससे निष्कर्षों की सटीकता में काफी सुधार होता है। हमारा ध्यान उपयोगिता पर है: व्यावहारिक रूप से, इसका मतलब है कि हमने झूठे अलार्म को कम करने के लिए अपने दृष्टिकोण को अनुकूलित किया है।

अधिक जानकारी के लिए, कृपया हमारा ब्लॉग पोस्ट पढ़ें।

इंस्टॉल करें

आप नीचे दिए गए किसी भी विकल्प का उपयोग करके GoKart को स्थानीय रूप से इंस्टॉल कर सकते हैं।

go install के साथ इंस्टॉल करें

root@kitploit:~
$ go install github.com/praetorian-inc/gokart@latest

रिलीज़ बाइनरी इंस्टॉल करें

  1. रिलीज़ पेज से अपने OS के लिए बाइनरी डाउनलोड करें।

  2. (वैकल्पिक) आर्काइव की अखंडता को सत्यापित करने के लिए checksums.txt फ़ाइल डाउनलोड करें

root@kitploit:~
# डाउनलोड किए गए आर्काइव के चेकसम की जाँच करें
$ shasum -a 256 gokart_${VERSION}_${ARCH}.tar.gz
b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22  gokart_${VERSION}_${ARCH}.tar.gz

$ cat gokart_${VERSION}_${ARCH}_checksums.txt | grep gokart_${VERSION}_${ARCH}.tar.gz
b05c4d7895be260aa16336f29249c50b84897dab90e1221c9e96af9233751f22  gokart_${VERSION}_${ARCH}.tar.gz
  1. डाउनलोड किए गए आर्काइव को निकालें
root@kitploit:~
$ tar -xvf gokart_${VERSION}_${ARCH}.tar.gz
  1. gokart बाइनरी को अपने पथ में ले जाएँ:
root@kitploit:~
$ mv ./gokart /usr/local/bin/

क्लोन करें और स्वयं बनाएँ

root@kitploit:~
# GoKart रिपॉजिटरी को क्लोन करें
$ git clone https://github.com/praetorian-inc/gokart.git

# रिपॉजिटरी डायरेक्टरी में जाएँ और बिल्ड करें
$ cd gokart
$ go build

# gokart बाइनरी को अपने पथ में ले जाएँ
$ mv ./gokart /usr/local/bin

डॉकर समर्थन

डॉकर इमेज बनाएँ

root@kitploit:~
docker build -t gokart .

स्थानीय स्कैन के साथ कंटेनर चलाएँ (स्थानीय स्कैन डायरेक्टरी को कंटेनर इमेज में माउंट करना होगा)

root@kitploit:~
docker run -v /path/to/scan-dir:/scan-dir gokart scan /scan-dir

रिमोट स्कैन के साथ कंटेनर चलाएँ (प्रमाणीकरण के लिए निजी कुंजी निर्दिष्ट करते समय, उसे भी कंटेनर में माउंट करना होगा)

root@kitploit:~
docker run gokart scan -r https://github.com/praetorian-inc/gokart

# निजी रिपॉजिटरी SSH प्रमाणीकरण के लिए निजी कुंजी निर्दिष्ट करना
docker run -v /path/to/key-dir/:/key-dir gokart scan -r [email protected]:praetorian-inc/gokart.git -k /key-dir/ssh_key

उपयोग

वर्तमान डायरेक्टरी में Go मॉड्यूल पर GoKart चलाएँ

root@kitploit:~
# बिना डायरेक्टरी निर्दिष्ट किए चलाने पर डिफ़ॉल्ट रूप से '.' लिया जाता है
gokart scan <flags>

किसी भिन्न डायरेक्टरी में Go मॉड्यूल को स्कैन करें

root@kitploit:~
gokart scan <directory> <flags> 

सहायता प्राप्त करें

root@kitploit:~
gokart help

प्रारंभ करें - एक उदाहरण ऐप को स्कैन करना

आप GoKart को Go Test Bench पर चलाने के लिए नीचे दिए गए चरणों का पालन कर सकते हैं, जो Contrast Security टीम का एक जानबूझकर कमजोर बनाया गया Go एप्लिकेशन है।

root@kitploit:~
# नमूना कमजोर एप्लिकेशन को क्लोन करें
git clone https://github.com/Contrast-Security-OSS/go-test-bench.git
gokart scan go-test-bench/

आउटपुट में कुछ पहचानी गई कमजोरियाँ दिखनी चाहिए, प्रत्येक में एक कमजोर फ़ंक्शन (Vulnerable Function) और उपयोगकर्ता इनपुट का स्रोत (Source of User Input) पहचाना गया होगा।

कुछ अतिरिक्त GoKart सुविधाओं का परीक्षण करने के लिए, आप नीचे सुझाए गए CLI फ़्लैग के साथ स्कैन कर सकते हैं।

root@kitploit:~
# पूर्ण ट्रेस दिखाने के लिए वर्बोज़ फ़्लैग का उपयोग करें
gokart scan go-test-bench/ -v

# व्हाइटलिस्ट किए गए स्रोतों को अनदेखा करने के लिए globalsTainted फ़्लैग का उपयोग करें
# इससे झूठी सकारात्मकता बढ़ सकती है
gokart scan go-test-bench/ -v -g

# आंतरिक विश्लेषण जानकारी प्रदर्शित करने के लिए डीबग फ़्लैग का उपयोग करें
# जो विकास और डीबगिंग के लिए उपयोगी है
gokart scan go-test-bench/ -d

# सारिफ फ़ॉर्मेट में परिणाम आउटपुट करें
gokart scan go-test-bench/ -s

# फ़ाइल में परिणाम आउटपुट करें
gokart scan go-test-bench/ -o gokart-go-test-bench.txt

# सारिफ परिणाम फ़ाइल में आउटपुट करें
gokart scan go-test-bench/ -o gokart-go-test-bench.txt -s

# रिमोट सार्वजनिक रिपॉजिटरी स्कैन करें
# रिपॉजिटरी को स्थानीय रूप से क्लोन किया जाएगा, स्कैन किया जाएगा और बाद में हटा दिया जाएगा
gokart scan -r https://github.com/ShiftLeftSecurity/shiftleft-go-demo -v

# स्कैन करने के लिए रिमोट ब्रांच निर्दिष्ट करें
gokart scan -r https://github.com/ShiftLeftSecurity/shiftleft-go-demo -b actions_fix

# SSH के माध्यम से रिमोट निजी रिपॉजिटरी स्कैन करें
gokart scan -r [email protected]:Contrast-Security-OSS/go-test-bench.git 

# रिमोट निजी रिपॉजिटरी स्कैन करें और वैकल्पिक रूप से SSH प्रमाणीकरण के लिए एक कुंजी निर्दिष्ट करें
gokart scan -r [email protected]:Contrast-Security-OSS/go-test-bench.git -k /home/gokart/.ssh/github_rsa_key

# निर्बाध सुरक्षा समीक्षाओं के लिए रिमोट स्कैन और आउटपुट फ़्लैग एक साथ उपयोग करें
gokart scan -r https://github.com/ShiftLeftSecurity/shiftleft-go-demo -o gokart-shiftleft-go-demo.txt -v 

# CI/CD में निर्बाध एकीकरण के लिए रिमोट स्कैन, आउटपुट और सारिफ फ़्लैग का उपयोग करें
gokart scan -r https://github.com/ShiftLeftSecurity/shiftleft-go-demo -o gokart-shiftleft-go-demo.txt -s

GoKart की विस्तारशीलता का परीक्षण करने के लिए, आप GoKart द्वारा उपयोग की जाने वाली कॉन्फ़िगरेशन फ़ाइल को संशोधित करके विश्लेषण में एक नया कमजोर सिंक (vulnerable sink) शामिल कर सकते हैं। शामिल डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल util/analyzers.yml में एक टेस्ट सिंक एनालाइज़र परिभाषित है। टेस्ट सिंक एनालाइज़र पर टिप्पणियाँ हटाने के लिए util/analyzers.yml को संशोधित करें और फिर GoKart को संशोधित कॉन्फ़िगरेशन फ़ाइल का उपयोग करने के लिए -i फ़्लैग के साथ निर्देशित करें।

root@kitploit:~
# संशोधित analyzers.yml फ़ाइल का उपयोग करके स्कैन करें और पूर्ण ट्रेस आउटपुट करें
gokart scan go-test-bench/ -v -i <path-to-gokart>/util/analyzers.yml

आउटपुट में अब अतिरिक्त कमजोरियाँ शामिल होनी चाहिए, जिनमें नई "Test Sink reachable by user input" कमजोरियाँ शामिल हैं।

GoKart टेस्ट चलाएँ

आप निम्न कमांड के साथ शामिल परीक्षण (tests) चला सकते हैं, जिसे GoKart रूट डायरेक्टरी से चलाया जाना चाहिए।

root@kitploit:~
go test -v ./...
टूल डाउनलोड करें