
GlassWorm आपूर्ति श्रृंखला हमले के पेलोड का पता लगाता है, VS Code एक्सटेंशन, npm/PyPI पैकेज, और git रिपॉजिटरी को स्कैन करके अदृश्य यूनिकोड पेलोड, डिकोडर पैटर्न, C2 मार्कर, और ज्ञात दुर्भावनापूर्ण IOCs के लिए।

अपनी मशीन पर GlassWorm सप्लाई चेन अटैक पेलोड का पता लगाएं। VS Code एक्सटेंशन, npm पैकेज, Python पैकेज, और git रिपॉजिटरी को स्कैन करता है।
यह स्कैनर अटैक तकनीक का ही पता लगाता है - अदृश्य यूनिकोड वेरिएशन सेलेक्टर पेलोड, GlassWorm डिकोडर पैटर्न, C2 संकेतक, और क्रेडेंशियल हार्वेस्टिंग कोड।
pip install glassworm-hunter
या pipx के साथ:
pipx install glassworm-hunter
अपने वर्तमान निर्देशिका को VS Code/Cursor एक्सटेंशन स्कैन किए बिना स्कैन करें:
glassworm-hunter scan --no-extensions
किसी विशिष्ट प्रोजेक्ट को स्कैन करें:
glassworm-hunter scan /path/to/project
| स्तर | अर्थ |
|---|---|
| क्रिटिकल | सक्रिय GlassWorm पेलोड का पता चला (कोड में अदृश्य यूनिकोड क्लस्टर, डिकोडर पैटर्न) |
glassworm-hunter scan [OPTIONS] [PATHS...]
स्कैनिंग के दौरान stderr पर एक Rich प्रगति पट्टी दिखाई जाती है। --quiet या --verbose के साथ यह स्वचालित रूप से दबा दी जाती है। स्कैन पूरा होने के बाद हमेशा stderr पर एक सारांश पंक्ति (स्कैन की गई फ़ाइलें, निष्कर्ष, आउटपुट पथ) मुद्रित होती है।
# सभी पहचान नियम ID सूचीबद्ध करें (--disable-rule के साथ उपयोग के लिए)
glassworm-hunter rules
# GitHub से स्थानीय IoC डेटाबेस अपडेट करें (डिफ़ॉल्ट स्रोत:
# https://raw.githubusercontent.com/afine-com/glassworm-hunter/main/data/ioc.json)
glassworm-hunter update
# कस्टम स्रोत से अपडेट करें (जैसे आंतरिक खतरा खुफिया सर्वर)
glassworm-hunter update --source https://internal.corp/ioc.json
# मौजूदा स्थानीय IoC डेटाबेस को बलपूर्वक ओवरराइट करें
glassworm-hunter update --force
# संस्करण प्रिंट करें
glassworm-hunter version
| कोड | अर्थ |
|---|---|
| 0 | कोई निष्कर्ष नहीं |
| 1 | निष्कर्ष का पता चला |
| 2 | स्कैनर त्रुटि |
स्वचालित प्रसंस्करण के लिए JSON आउटपुट:
glassworm-hunter scan . --format json --output report.json --no-extensions
GitHub कोड स्कैनिंग के लिए SARIF:
glassworm-hunter scan . --format sarif --output results.sarif --no-extensions
GitHub पर SARIF अपलोड करें:
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
CI में एक्ज़िट कोड का उपयोग करें:
glassworm-hunter scan . --severity critical --no-extensions || exit 1
बिल्ड आर्टिफैक्ट और विक्रेता कोड को बाहर करें:
glassworm-hunter scan . --exclude "dist/**" --exclude "*.min.js" --no-extensions
यह स्कैनर डिफ़ॉल्ट रूप से पूरी तरह ऑफ़लाइन है। यह केवल स्थानीय फ़ाइलें पढ़ता है। कोई टेलीमेट्री, कोई फ़ोन-होम, कोई स्वचालित अपडेट जाँच नहीं। IoC डेटाबेस पैकेज में बंडल हैं।
एकमात्र कमांड जो नेटवर्क अनुरोध करता है वह है glassworm-hunter update, जो GitHub (या कस्टम --source URL) से नवीनतम IoC डेटाबेस लाता है। इसे कभी स्वचालित रूप से कॉल नहीं किया जाता।
डिफ़ॉल्ट सेट करने के लिए अपने प्रोजेक्ट रूट में एक .glassworm.yml रखें:
exclude:
- "*.min.js"
- "vendor/**"
- "dist/**"
disable_rules:
- zero-width-chars
severity: medium
CLI फ़्लैग कॉन्फ़िगरेशन फ़ाइल मानों को ओवरराइड करते हैं।
JSON फ़ाइल से अतिरिक्त संकेतक लोड करने के लिए --ioc-file का उपयोग करें। यह टीम-विशिष्ट या आंतरिक खतरा खुफिया के लिए उपयोगी है:
glassworm-hunter scan /path --ioc-file /path/to/team_ioc.json
फ़ाइल को data/ioc.json के समान स्कीमा का पालन करना चाहिए:
{
"schema_version": "1.0",
"extensions": [{"id": "publisher.name"}],
"npm_packages": [{"name": "pkg", "malicious_versions": "1.0.0"}],
"c2_ips": [{"ip": "1.2.3.4"}],
"c2_wallets": [{"address": "..."}],
"attacker_artifacts": [{"type": "email", "value": "[email protected]"}]
}
कस्टम फ़ाइल को अन्य सभी IoC परतों के ऊपर मर्ज किया जाता है (हार्डकोडेड → बंडल → उपयोगकर्ता ~/.glassworm/ioc.json → --ioc-file)।
स्कैनर 3+1 परत IoC प्रणाली का उपयोग करता है (प्रत्येक परत पिछले के ऊपर मर्ज होती है, कभी नहीं हटाती):
data/ioc.json~/.glassworm/ioc.json, glassworm-hunter update के माध्यम से अपडेट किया गया--ioc-file फ़्लैग, उच्चतम प्राथमिकतास्कैनर Windows पर काम करता है। यदि आप एक उन्नत (प्रशासक) कमांड प्रॉम्प्ट नहीं चलाते हैं तो 4 परीक्षण विफल होते हैं।
MIT
| उच्च | ज्ञात दुर्भावनापूर्ण IoC मिलान (C2 IP, वॉलेट, ज्ञात मैलवेयर पर एक्सटेंशन निर्भरता) |
| मध्यम | संदिग्ध पैटर्न जिसकी समीक्षा करना उचित है (eval + डायनामिक कंटेंट, क्रेडेंशियल एक्सेस, Trojan Source) |
| निम्न | सूचनात्मक (असामान्य शून्य-चौड़ाई वर्ण घनत्व, संदिग्ध इंस्टॉल स्क्रिप्ट) |
| विकल्प | डिफ़ॉल्ट | विवरण |
|---|
--extensions / --no-extensions | चालू | VS Code/Cursor/Codium एक्सटेंशन स्कैन करें |
--npm-scan / --no-npm-scan | चालू | node_modules स्कैन करें |
--pip-scan / --no-pip-scan | बंद | Python site-packages स्कैन करें |
--git / --no-git | चालू | git रिपॉजिटरी स्कैन करें |
--format [console|json|sarif] | कंसोल | आउटपुट प्रारूप |
--output FILE | stdout | रिपोर्ट को फ़ाइल में लिखें |
--severity [critical|high|medium|low] | निम्न | रिपोर्ट करने के लिए न्यूनतम गंभीरता |
--max-file-size SIZE | 10MB | इससे बड़ी फ़ाइलों को छोड़ें |
--include-hidden | बंद | छिपी फ़ाइलें/निर्देशिकाएँ स्कैन करें |
--quiet | बंद | प्रगति आउटपुट दबाएँ |
--verbose | बंद | हर स्कैन की जा रही फ़ाइल दिखाएँ |
--exclude PATTERN | — | बहिष्कृत करने के लिए Glob पैटर्न (दोहराने योग्य) |
--disable-rule RULE_ID | — | विशिष्ट पहचान नियमों को दबाएँ (दोहराने योग्य) |
--ioc-file FILE | — | JSON फ़ाइल से अतिरिक्त IoC संकेतक लोड करें |