
getsploit v3.0.1
Vulners डेटाबेस से सार्वजनिक exploits खोजें और डाउनलोड करें — ऑनलाइन, या स्थानीय SQLite FTS5 इंडेक्स से पूरी तरह ऑफ़लाइन।
Getsploit
Vulners डेटाबेस से सार्वजनिक एक्सप्लॉइट खोजें और डाउनलोड करें — ऑनलाइन, या स्थानीय इंडेक्स से पूरी तरह ऑफ़लाइन।
API कुंजी पाएँ · Vulners खोज · चेंजलॉग · आर्किटेक्चर · सुरक्षा नीति

Getsploit क्यों
- 🔎 एक क्वेरी, हर संग्रह। Exploit-DB, Metasploit, Packet Storm, Zero Day Initiative, GitHub प्रूफ-ऑफ-कॉन्सेप्ट और भी बहुत कुछ, जैसा कि Vulners द्वारा अनुक्रमित है।
- 📴 नेटवर्क बंद होने पर भी काम करता है। एक
--updateपूरे एक्सप्लॉइट कॉर्पस का स्थानीय SQLite FTS5 इंडेक्स बनाता है; हर बाद की खोज एक स्थानीय क्वेरी है। - 🧠 जो आपने टाइप किया उसे खोजता है।
wordpress 4.7,CVE-2024-3094औरms17-010शाब्दिक रूप से मेल खाते हैं, जबकि एक जानबूझकर फुल-टेक्स्ट एक्सप्रेशन को पूर्ण FTS5 सिंटैक्स मिलता है। - 📊 भरोसेमंद प्रगति। अपडेट के हर चरण में वास्तविक संख्याएँ बताई जाती हैं, और जिन दो चरणों का आकार ज्ञात नहीं हो सकता, वे प्रतिशत गढ़ने के बजाय यही कहते हैं।
- 🧾 पाइप-अनुकूल। JSON, JSON Lines, और आउटपुट रीडायरेक्ट होने पर स्थिर टैब-सेपरेटेड रिकॉर्ड। कोई रंग या सजावट कभी मशीन फ़ॉर्मेट तक नहीं पहुँचती।
- 💾 स्रोत को रखता है।
--mirrorहर एक्सप्लॉइट की बॉडी को उसकी अपनी फ़ाइल में लिखता है। - 🔐 आपके डेटा के प्रति सतर्क। कुंजी कभी कमांड-लाइन तर्क नहीं होती, कुंजी फ़ाइल को सिमलिंक का अनुसरण किए बिना खोला जाता है, और डाउनलोड की गई सामग्री कभी निष्पादित नहीं होती।
- 🧪 सत्यापित। Python 3.11 से 3.14 तक, Linux, macOS और Windows पर 100% स्टेटमेंट और ब्रांच कवरेज।
इंस्टॉल
Getsploit को Python 3.11 या उससे नया चाहिए।
$ pipx install getsploit
$ uv tool install getsploit
$ python -m pip install getsploit
API कुंजी
अपने Vulners खाते में एक कुंजी बनाएँ, फिर इसे एनवायरनमेंट के माध्यम से उपलब्ध कराएँ:
$ export VULNERS_API_KEY="your-key" # pragma: allowlist secret
$env:VULNERS_API_KEY = "your-key" # pragma: allowlist secret
getsploit --set-key एक छिपे हुए पुष्टिकरण संकेत के माध्यम से Getsploit होम के अंतर्गत एक निजी फ़ाइल में कुंजी संग्रहीत करता है। एनवायरनमेंट उस फ़ाइल पर वरीयता लेता है और स्वचालन के लिए बेहतर विकल्प है। कोई --api-key विकल्प नहीं है: कमांड लाइन पर दी गई कुंजी शेल इतिहास और प्रोसेस सूची में समाप्त हो जाती है।
ऑनलाइन खोज और --update के लिए कुंजी आवश्यक है। --local और --status के लिए नहीं।
उपयोग
ऑनलाइन खोज
$ getsploit CVE-2024-3094
$ getsploit "wordpress 4.7 remote code execution" --count 25
क्वेरी Vulners तक अपरिवर्तित पहुँचती है, इसलिए इसका Lucene सिंटैक्स दस्तावेज़ित अनुसार काम करता है:
$ getsploit 'title:wordpress AND description:"code execution"'
100 से ऊपर --count को पारदर्शी रूप से पेज किया जाता है; एक एकल API प्रतिक्रिया कभी भी 100 से अधिक दस्तावेज़ नहीं ले जाती।
ऑफ़लाइन खोज
$ getsploit --update # download the archive and build the FTS5 index
$ getsploit --status # where it is, how big, how many documents
$ getsploit --local wordpress 4.7
सामान्य खोज शब्दों का शाब्दिक मिलान किया जाता है, इसलिए पहचानकर्ता और संस्करण संख्याएँ जैसे टाइप की गईं वैसे ही काम करती हैं: wordpress 4.7, CVE-2024-3094, ms17-010। जो क्वेरी कॉलम फ़िल्टर, बूलियन ऑपरेटर, उद्धरण, कोष्ठक, * या ^ का उपयोग करती है, उसे SQLite FTS5 एक्सप्रेशन माना जाता है और गलत होने पर अपनी स्वयं की त्रुटि रिपोर्ट करती है:
$ getsploit --local 'title:eternalblue AND NOT description:metasploit'
खोज योग्य कॉलम हैं id, title, published, description और source_data। पुरानी sourceData: वर्तनी अभी भी स्वीकार की जाती है।
एक्सप्लॉइट स्रोत सहेजना
$ getsploit --mirror wordpress 4.7
$ getsploit --local --mirror eternalblue
फ़ाइलें क्वेरी से व्युत्पन्न एक निर्देशिका में रखी जाती हैं, प्रति एक्सप्लॉइट एक फ़ाइल, बिना सिमलिंक का अनुसरण किए बनाई जाती हैं और कभी भी पहले से मौजूद किसी चीज़ को अधिलेखित नहीं करती हैं।
[!WARNING] मिरर की गई फ़ाइलें अविश्वसनीय तृतीय-पक्ष कोड हैं। उन्हें चलाने से पहले पढ़ें।
मशीन-पठनीय आउटपुट
$ getsploit --format json CVE-2024-3094
$ getsploit --format jsonl wordpress | jq -r .id
$ getsploit wordpress > results.tsv # redirected output is tab-separated
--json, --format json का उर्फ (alias) बना हुआ है।
टर्मिनल नियंत्रण
$ getsploit --color always query | less -R
$ getsploit --color never query
रंग डिफ़ॉल्ट रूप से auto होता है। चौड़ा टर्मिनल एक तालिका दिखाता है, संकरा टर्मिनल स्टैक्ड रिकॉर्ड दिखाता है, और रीडायरेक्ट की गई स्ट्रीम को टैब-सेपरेटेड मान मिलते हैं — तीनों में समान डेटा।
पूर्ण विकल्प सूची के लिए getsploit --help चलाएँ।
स्थानीय डेटाबेस
| स्थान | ~/.getsploit/getsploit.db, या $GETSPLOIT_HOME |
| प्रारूप | बाहरी-सामग्री FTS5 इंडेक्स के साथ SQLite |
| टोकनाइज़र | unicode61 remove_diacritics 2 |
| आकार | पूरे कॉर्पस के लिए लगभग 1.7 GB |
| अपडेट | एटॉमिक: नया डेटाबेस पुराने डेटाबेस को एक ही ऑपरेशन में प्रतिस्थापित करता है |
एक अपडेट आठ समानांतर रेंज कनेक्शनों पर संग्रह डाउनलोड करता है, उसे गंतव्य के पास अनपैक और परिवर्तित करता है, सत्यापित करता है, और उसके बाद ही कमिट करता है। मेमोरी उपयोग संग्रह के आकार पर निर्भर नहीं करता। पुराने डेटाबेस के विरुद्ध पहले से चल रही खोज बिना किसी व्यवधान के उसी पर समाप्त होती है।
Getsploit 2.x द्वारा निर्मित डेटाबेस खोजने योग्य बने रहते हैं; अगला --update उन्हें FTS4 से FTS5 में माइग्रेट करता है। FTS4 समीपता अभिव्यक्तियाँ जैसे one NEAR/5 two को FTS5 के NEAR(...) रूप में फिर से लिखा जाना चाहिए।
संगतता
| Python | 3.11, 3.12, 3.13, 3.14 |
| ऑपरेटिंग सिस्टम | Linux, macOS, Windows |
| Vulners SDK | 4.1 और नए 4.x |
| रनटाइम निर्भरताएँ | click, rich, vulners |
विकास
$ git clone https://github.com/vulnersCom/getsploit.git
$ cd getsploit
$ uv sync --all-groups
$ make check
| कमांड | उद्देश्य |
|---|---|
make format | स्रोत फ़ाइलों को फ़ॉर्मेट और ऑटोफ़िक्स करें |
make lint | फ़ॉर्मेटिंग, लिंट और प्रकार जाँचें |
make test | परीक्षण समानांतर चलाएँ |
make coverage | 100% स्टेटमेंट और ब्रांच कवरेज लागू करें |
make leaks | ट्रैक की गई फ़ाइलों में गोपनीय जानकारी (secrets) स्कैन करें |
make build | व्हील और सोर्स डिस्ट्रीब्यूशन बनाएँ |
make release | हर गेट चलाएँ और दोनों डिस्ट्रीब्यूशन सत्यापित करें |
make check | वह सब कुछ जो मर्ज को गेट करता है |
CONTRIBUTING.md में योगदान नियम हैं और ARCHITECTURE.md में मॉड्यूल सीमाएँ और डेटाबेस इनवेरिएंट हैं।
एक रिलीज़ एक पुश किया गया v<version> टैग है। वहाँ से रिलीज़ वर्कफ़्लो टैग किए गए कमिट पर पूरा गेट फिर से चलाता है, विश्वसनीय प्रकाशन (trusted publishing) के माध्यम से PyPI पर प्रकाशित करता है, और चेंजलॉग से GitHub रिलीज़ लिखता है। लीक होने के लिए कोई PyPI टोकन मौजूद नहीं है।
सुरक्षा
एक्सप्लॉइट स्रोत फ़ाइलें अविश्वसनीय सामग्री हैं: उन्हें खोलने या चलाने से पहले समीक्षा करें। Getsploit स्वयं कभी भी डाउनलोड की गई चीज़ को निष्पादित नहीं करता।
रिलीज़ GitHub Actions से PyPI विश्वसनीय प्रकाशन के माध्यम से प्रकाशित होती हैं, इसलिए लीक होने के लिए कोई दीर्घकालिक API टोकन मौजूद नहीं है, और हर आर्टिफैक्ट के साथ एक बिल्ड प्रोवेनेंस प्रमाणन (build provenance attestation) होता है। Getsploit में किसी भेद्यता की रिपोर्ट करने के लिए, SECURITY.md का पालन करें।
लाइसेंस
MIT © Vulners टीम और योगदानकर्ता।