العودة إلى التحديثات
New releaseAug 17, 2026

glassworm-hunter v1.0.4

يكتشف حمولات هجوم سلسلة التوريد GlassWorm من خلال فحص إضافات VS Code، وحزم npm/PyPI، ومستودعات git بحثًا عن حمولات Unicode غير مرئية، وأنماط فك التشفير، وعلامات C2، ومؤشرات IOC ضارة معروفة.

مشاركة

glassworm-hunter

Glassworm Hunter Logo

اكتشف حمولات هجوم سلسلة التوريد GlassWorm على جهازك. يقوم بمسح إضافات VS Code، حزم npm، حزم Python، ومستودعات git.

هذا الماسح يكشف تقنية الهجوم نفسها - حمولات محددات الاختلاف Unicode غير المرئية، أنماط فك تشفير 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

ما يكتشفه

كشف التقنية (يلتقط المتغيرات غير المعروفة)

  • حمولات Unicode غير المرئية - أحرف محددات الاختلاف (U+FE00-FE0F, U+E0100-E01EF) المستخدمة لتشفير كود مخفي. الاستخدامات المشروعة هي 1-2 أحرف للرموز التعبيرية. يستخدم GlassWorm آلافًا منها.
  • أنماط فك تشفير GlassWorm - عملية codePointAt + نطاق محددات الاختلاف التي تفك الحمولات غير المرئية
  • أحرف التجاوز ثنائي الاتجاه - هجوم Trojan Source (CVE-2021-42574)
  • حشو Hangul - معرفات JavaScript صالحة غير مرئية (U+3164)
  • eval/Function بمحتوى ديناميكي - نقاط تنفيذ تتغذى على سلاسل مفكوكة
  • الوصول إلى بيانات الاعتماد - كود يقرأ .npmrc، .gitcredentials، مفاتيح SSH، متغيرات بيئة الرموز
  • أنماط اتصال C2 - استدعاءات Solana RPC، عناوين URL لتقويم Google، قنوات بيانات WebRTC في سياقات غير متوقعة

مطابقة مؤشرات الاختراق المعروفة (إضافية)

  • 21 معرفًا ضارًا معروفًا لإضافات VS Code/OpenVSX (جميع الموجات الخمس)
  • 4 حزم npm ضارة معروفة
  • 14 عنوان IP معروفًا لـ C2
  • 3 عناوين محفظة Solana معروفة لـ C2
  • بريد إلكتروني للمهاجم وقطع أثرية لمسار البناء

مستويات الخطورة

المستوىالمعنى
حرجتم اكتشاف حمولة GlassWorm نشطة (مجموعة Unicode غير مرئية في الكود، نمط فك التشفير)
عاليمطابقة مؤشر اختراق معروف (IP C2، محفظة، اعتماد إضافة على برمجية ضارة معروفة)
متوسطنمط مشبوه يستحق المراجعة (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]consoleتنسيق الإخراج
--output FILEstdoutكتابة التقرير إلى ملف
--severity [critical|high|medium|low]lowالحد الأدنى من الخطورة للإبلاغ
--max-file-size SIZE10MBتخطي الملفات الأكبر من ذلك
--include-hiddenإيقافمسح الملفات/الدلائل المخفية
--quietإيقافإخفاء إخراج التقدم
--verboseإيقافإظهار كل ملف يتم مسحه
--exclude PATTERNأنماط glob لاستبعادها (قابلة للتكرار)
--disable-rule RULE_IDإخفاء قواعد كشف معينة (قابلة للتكرار)
--ioc-file FILEتحميل مؤشرات IoC إضافية من ملف JSON

يتم عرض شريط تقدم Rich على stderr أثناء المسح. يتم إخفاؤه تلقائيًا مع --quiet أو --verbose. يتم دائمًا طباعة سطر ملخص (الملفات الممسوحة ضوئيًا، النتائج، مسار الإخراج) إلى stderr بعد اكتمال المسح.

أوامر أخرى

# سرد جميع معرفات قواعد الكشف (للاستخدام مع --disable-rule)
glassworm-hunter rules

# تحديث قاعدة بيانات IoC المحلية من GitHub (المصدر الافتراضي:
# 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

SARIF لمسح الكود في GitHub:

glassworm-hunter scan . --format sarif --output results.sarif --no-extensions

رفع SARIF إلى GitHub:

- 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، الذي يجلب أحدث قاعدة بيانات IoC من GitHub (أو عنوان URL مخصص --source). لا يتم استدعاؤه تلقائيًا أبدًا.

ملف التكوين

ضع ملف .glassworm.yml في جذر مشروعك لتعيين القيم الافتراضية:

exclude:
  - "*.min.js"
  - "vendor/**"
  - "dist/**"

disable_rules:
  - zero-width-chars

severity: medium

علامات CLI تتجاوز قيم ملف التكوين.

ملفات IoC مخصصة

استخدم --ioc-file لتحميل مؤشرات إضافية من ملف JSON. هذا مفيد لمؤشرات خاصة بالفريق أو استخبارات تهديدات داخلية:

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

يستخدم الماسح نظام IoC من 3+1 طبقة (كل طبقة تدمج فوق السابقة، لا تزيل أبدًا):

  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 - تحليل موجة GlassWorm في مارس 2026 التي استهدفت مستودعات GitHub وحزم npm، بالتعاون مع Socket وStep Security ومجتمع OpenSourceMalware.
  • AFINE - هذا الماسح. اقرأ البحث الكامل: Hunting GlassWorm: Open-Source Detection for Invisible Supply Chain Payloads

Windows

يعمل الماسح على Windows. تفشل 4 اختبارات ما لم تقم بتشغيل موجه أوامر بصلاحية مرتفعة (مسؤول).

الترخيص

MIT

الفئات