अपडेट पर वापस जाएँ
New releaseAug 17, 2026

glassworm-hunter v1.0.4

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

साझा करें

glassworm-hunter

ग्लासवॉर्म हंटर लोगो

अपनी मशीन पर 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

यह क्या पता लगाता है

तकनीक का पता लगाना (अज्ञात वेरिएंट को पकड़ता है)

  • अदृश्य यूनिकोड पेलोड - वेरिएशन सेलेक्टर कैरेक्टर (U+FE00-FE0F, U+E0100-E01EF) जिनका उपयोग छिपा कोड एनकोड करने के लिए किया जाता है। वैध उपयोग इमोजी के लिए 1-2 कैरेक्टर होते हैं। GlassWorm हजारों का उपयोग करता है।
  • GlassWorm डिकोडर पैटर्न - codePointAt + वेरिएशन सेलेक्टर रेंज अंकगणित जो अदृश्य पेलोड को डिकोड करता है
  • द्विदिशात्मक ओवरराइड कैरेक्टर - Trojan Source हमला (CVE-2021-42574)
  • हंगुल फिलर - अदृश्य वैध JavaScript पहचानकर्ता (U+3164)
  • डायनामिक कंटेंट के साथ eval/Function - डिकोडेड स्ट्रिंग्स द्वारा खिलाए गए निष्पादन सिंक
  • क्रेडेंशियल एक्सेस - .npmrc, .gitcredentials, SSH कुंजियाँ, टोकन env vars पढ़ने वाला कोड
  • C2 संचार पैटर्न - अप्रत्याशित संदर्भों में Solana RPC कॉल्स, Google Calendar URLs, WebRTC डेटा चैनल

ज्ञात IoC मिलान (पूरक)

  • 21 ज्ञात दुर्भावनापूर्ण VS Code/OpenVSX एक्सटेंशन ID (सभी 5 वेव)
  • 4 ज्ञात दुर्भावनापूर्ण npm पैकेज
  • 14 ज्ञात C2 IP पते
  • 3 ज्ञात Solana C2 वॉलेट पते
  • हमलावर ईमेल और बिल्ड पथ कलाकृतियाँ

गंभीरता स्तर

स्तरअर्थ
क्रिटिकलसक्रिय GlassWorm पेलोड का पता चला (कोड में अदृश्य यूनिकोड क्लस्टर, डिकोडर पैटर्न)
उच्चज्ञात दुर्भावनापूर्ण IoC मिलान (C2 IP, वॉलेट, ज्ञात मैलवेयर पर एक्सटेंशन निर्भरता)
मध्यमसंदिग्ध पैटर्न जिसकी समीक्षा करना उचित है (eval + डायनामिक कंटेंट, क्रेडेंशियल एक्सेस, Trojan Source)
निम्नसूचनात्मक (असामान्य शून्य-चौड़ाई वर्ण घनत्व, संदिग्ध इंस्टॉल स्क्रिप्ट)

CLI विकल्प

glassworm-hunter scan [OPTIONS] [PATHS...]
विकल्पडिफ़ॉल्टविवरण
--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 FILEstdoutरिपोर्ट को फ़ाइल में लिखें
--severity [critical|high|medium|low]निम्नरिपोर्ट करने के लिए न्यूनतम गंभीरता
--max-file-size SIZE10MBइससे बड़ी फ़ाइलों को छोड़ें
--include-hiddenबंदछिपी फ़ाइलें/निर्देशिकाएँ स्कैन करें
--quietबंदप्रगति आउटपुट दबाएँ
--verboseबंदहर स्कैन की जा रही फ़ाइल दिखाएँ
--exclude PATTERNबहिष्कृत करने के लिए Glob पैटर्न (दोहराने योग्य)
--disable-rule RULE_IDविशिष्ट पहचान नियमों को दबाएँ (दोहराने योग्य)
--ioc-file FILEJSON फ़ाइल से अतिरिक्त IoC संकेतक लोड करें

स्कैनिंग के दौरान 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स्कैनर त्रुटि

यदि आपको कुछ मिले

  1. घबराएं नहीं। स्कैनर ने एक संकेतक पाया है, पुष्टि किया गया उल्लंघन नहीं। कुछ पहचान झूठी सकारात्मक हो सकती हैं, और हमारी टीम उन्हें कम करने और पहचान सटीकता में सुधार करने पर लगातार काम कर रही है।
  2. फ़्लैग किए गए कोड को निष्पादित न करें। हल होने तक प्रभावित प्रोजेक्ट को चलाएं, बनाएं या परीक्षण न करें।
  3. क्रिटिकल निष्कर्ष: एक्सटेंशन/पैकेज को तुरंत अनइंस्टॉल करें। मशीन पर अपने NPM टोकन, GitHub टोकन, SSH कुंजियाँ और किसी भी अन्य क्रेडेंशियल को घुमाएं।
  4. उच्च निष्कर्ष: फ़्लैग की गई फ़ाइल की जाँच करें। यदि यह एक निर्भरता में है जिसे आपने स्पष्ट रूप से स्थापित नहीं किया है, तो इसे हटा दें।
  5. मध्यम निष्कर्ष: कोड की समीक्षा करें। ये पैटर्न संदिग्ध हैं लेकिन कुछ संदर्भों में वैध हो सकते हैं।

CI/CD एकीकरण

स्वचालित प्रसंस्करण के लिए 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 फ़्लैग कॉन्फ़िगरेशन फ़ाइल मानों को ओवरराइड करते हैं।

कस्टम IoC फ़ाइलें

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)।

IoC डेटाबेस परतें

स्कैनर 3+1 परत IoC प्रणाली का उपयोग करता है (प्रत्येक परत पिछले के ऊपर मर्ज होती है, कभी नहीं हटाती):

  1. हार्डकोडेड — Python स्रोत में निर्मित, हमेशा उपलब्ध
  2. बंडल — पैकेज के साथ भेजा गया data/ioc.json
  3. उपयोगकर्ता~/.glassworm/ioc.json, glassworm-hunter update के माध्यम से अपडेट किया गया
  4. कस्टम--ioc-file फ़्लैग, उच्चतम प्राथमिकता

क्रेडिट

  • Koi Security - GlassWorm की मूल खोज (अक्टूबर 2025) और कई वेव्स में चल रही ट्रैकिंग, जिसमें OpenVSX/VSCode अभियान, Rust बाइनरी पिवट, और macOS पिवट शामिल हैं। इस स्कैनर में IoC डेटा उनके प्रकाशित शोध पर आधारित है।
  • Aikido Security - मार्च 2026 GlassWorm वेव का विश्लेषण जो GitHub रिपॉजिटरी और npm पैकेजों को लक्षित करता है, Socket, Step Security, और OpenSourceMalware समुदाय के साथ।
  • AFINE - यह स्कैनर। पूर्ण शोध पढ़ें: Hunting GlassWorm: Open-Source Detection for Invisible Supply Chain Payloads

Windows

स्कैनर Windows पर काम करता है। यदि आप एक उन्नत (प्रशासक) कमांड प्रॉम्प्ट नहीं चलाते हैं तो 4 परीक्षण विफल होते हैं।

लाइसेंस

MIT

श्रेणियाँ