
GitHub संगठनों के लिए टोही उपकरण
Gitrob एक उपकरण है जो Github पर सार्वजनिक रिपॉज़िटरी में पुश की गई संभावित संवेदनशील फ़ाइलों को खोजने में मदद करता है। Gitrob एक उपयोगकर्ता या संगठन से संबंधित रिपॉज़िटरी को कॉन्फ़िगरेबल गहराई तक क्लोन करेगा और कमिट इतिहास के माध्यम से पुनरावृत्ति करेगा और संभावित संवेदनशील फ़ाइलों के लिए सिग्नेचर से मेल खाने वाली फ़ाइलों को चिन्हित करेगा। निष्कर्ष आसान ब्राउज़िंग और विश्लेषण के लिए एक वेब इंटरफ़ेस के माध्यम से प्रस्तुत किए जाएंगे।
gitrob [options] target [target2] ... [targetN]
-bind-address string
Address to bind web server to (default "127.0.0.1")
-commit-depth int
Number of repository commits to process (default 500)
-debug
Print debugging information
-github-access-token string
GitHub access token to use for API requests
-load string
Load session file
-no-expand-orgs
Don't add members to targets when processing organizations
-port int
Port to run web server on (default 9393)
-save string
Save session to file
-silent
Suppress all output except for errors
-threads int
Number of concurrent threads (default number of logical CPUs)
डिफ़ॉल्ट रूप से, gitrob एक मूल्यांकन के लिए अपनी स्थिति को मेमोरी में संग्रहीत करेगा। इसका मतलब है कि Gitrob बंद होने पर मूल्यांकन के परिणाम खो जाते हैं। आप -save विकल्प का उपयोग करके सत्र को एक फ़ाइल में सहेज सकते हैं:
gitrob -save ~/gitrob-session.json acmecorp
Gitrob सभी एकत्रित जानकारी को एक विशेष JSON दस्तावेज़ के रूप में निर्दिष्ट फ़ाइल पथ पर सहेजेगा। फ़ाइल को किसी अन्य समय पर ब्राउज़ करने के लिए पुनः लोड किया जा सकता है, अन्य विश्लेषकों के साथ साझा किया जा सकता है या अन्य उपकरणों और प्रणालियों के साथ कस्टम एकीकरण के लिए पार्स किया जा सकता है।
फ़ाइल में संग्रहीत सत्र को -load विकल्प के साथ लोड किया जा सकता है:
gitrob -load ~/gitrob-session.json
Gitrob अपना वेब इंटरफ़ेस शुरू करेगा और विश्लेषण के लिए परिणाम प्रस्तुत करेगा।
प्रत्येक रिलीज़ के लिए एक पूर्व-संकलित संस्करण उपलब्ध है, वैकल्पिक रूप से आप अपनी स्वयं की बाइनरी बनाने के लिए इस रिपॉज़िटरी से स्रोत कोड के नवीनतम संस्करण का उपयोग कर सकते हैं।
सुनिश्चित करें कि आपके पास सही ढंग से कॉन्फ़िगर किया गया Go >= 1.8 वातावरण है और $GOPATH/bin आपके $PATH में है।
$ go get github.com/michenriksen/gitrob
यह कमांड gitrob को डाउनलोड करेगा, इसकी निर्भरताएँ स्थापित करेगा, इसे संकलित करेगा और gitrob निष्पादन योग्य को $GOPATH/bin में ले जाएगा।
Gitrob को Github API के साथ बातचीत करने के लिए एक Github एक्सेस टोकन की आवश्यकता होगी। एक व्यक्तिगत एक्सेस टोकन बनाएं और इसे अपने .bashrc या समान शेल कॉन्फ़िगरेशन फ़ाइल में एक पर्यावरण चर में सहेजें:
export GITROB_ACCESS_TOKEN=deadbeefdeadbeefdeadbeefdeadbeefdeadbeef
वैकल्पिक रूप से आप -github-access-token विकल्प के साथ एक्सेस टोकन निर्दिष्ट कर सकते हैं, लेकिन अपने कमांड इतिहास से सावधान रहें!