Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
tanscript-exploit-check — مدقق IOC لهجوم سلسلة التوريد TanStack/Mini Shai-Hulud npm (CVE-2026-45321) | Kitploit
أدوات/GitHubGitHub/nkopylov/tanscript-exploit-check
إدارة مؤشرات الاختراق (IOC)تحليل الثغرات الأمنيةالتحقيق الجنائي الرقمياستخبارات التهديداتأمن سلسلة التوريدالاستجابة للحوادث
GitHubnkopylov/tanscript-exploit-check

tanscript-exploit-check

مدقق IOC لهجوم سلسلة التوريد TanStack/Mini Shai-Hulud npm (CVE-2026-45321)

عرض المستودع
117منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

هجوم سلسلة التوريد Mini Shai-Hulud — مدقق IOC

curl -fsSL https://raw.githubusercontent.com/nkopylov/tanscript-exploit-check/main/check-tanstack-exploit.sh | bash

أو استنسخ وشغّل محليًا:

git clone https://github.com/nkopylov/tanscript-exploit-check.git
cd tanscript-exploit-check
./check-tanstack-exploit.sh [project_dir ...]

ما حدث

يغطي هذا المدقق موجتين من حملة هجوم سلسلة التوريد Mini Shai-Hulud بواسطة TeamPCP:

الموجة الأولى: اختراق CI/CD لـ TanStack (11 مايو 2026)

في 11 مايو 2026 (19:20-19:26 UTC)، نشر مهاجم 84 نسخة ضارة عبر 42 حزمة @tanstack/* من npm في نافذة مدتها 6 دقائق. أصاب الهجوم أيضًا حزمًا من Mistral AI وUiPath وOpenSearch وغيرها — أكثر من 170 حزمة إجمالاً عبر npm وPyPI.

لم تُسرق بيانات اعتماد أي من المطورين. استغل المهاجم سلسلة الثقة لـ CI/CD نفسها عبر هجوم من 3 مراحل:

  1. استغلال pull_request_target — فتح fork مؤقت على GitHub طلب سحب (PR) شغّل كود المهاجم في سياق الأمان للمستودع الأساسي
  2. تسميم ذاكرة التخزين المؤقت لـ GitHub Actions — قام كود fork بتسميم ذاكرة التخزين المؤقت المشتركة لـ pnpm، التي أصابت لاحقًا سير عمل الإصدار الشرعية
  3. استخراج رمز OIDC من ذاكرة العملية — استخرج الكود الضار رموز نشر npm مباشرة من ذاكرة مشغل GitHub Actions، مما أنتج حزمًا مع تصديقات إثبات الأصل SLSA Build Level 3 صالحة

الموجة الثانية: الاستيلاء على حساب npm "atool" (19 مايو 2026)

في 19 مايو 2026 (01:39-02:06 UTC)، نشر حساب npm المخترق atool ([email protected]) 637 نسخة ضارة عبر 314 حزمة في موجتين آليتين. تشمل الأهداف عالية التأثير:

  • size-sensor (4.2 مليون تحميل/شهر)
  • echarts-for-react (3.8 مليون تحميل/شهر)
  • @antv/scale (2.2 مليون تحميل/شهر)
  • timeago.js (1.15 مليون تحميل/شهر)

بالإضافة إلى أكثر من 310 حزمة إضافية من @antv/* وغيرها

استخدمت هذه الموجة حمولة مبنية على Bun (ملف index.js بحجم 498 كيلوبايت) تم تفعيلها عبر "preinstall": "bun run index.js"، مع حمولة من المرحلة الثانية مخبأة في commits مزيفة تم دفعها إلى مستودع antvis/G2 على GitHub عبر استغلال مشاركة كائن fork.

ما يفعله الكود الضار (كلتا الموجتين)

تستخدم كلتا الموجتين نفس عائلة أدوات "Mini Shai-Hulud":

  • حصد بيانات الاعتماد: أكثر من 80 متغير بيئة، سلسلة AWS الكاملة (env → config → IMDSv2 → ECS → Secrets Manager)، رموز GitHub PAT، رموز npm، مفاتيح SSH، رموز K8s، رموز Vault، مديري كلمات المرور (1Password, Bitwarden, pass, gopass)
  • الثبات: خفيّات gh-token-monitor (الموجة الأولى) و kitty-monitor (الموجة الثانية) عبر LaunchAgent/systemd؛ خطافات في .claude/settings.json و .vscode/tasks.json
  • استخراج البيانات: شبكات P2P (الموجة الأولى)، GitHub Git Data API + HTTPS متنكرًا كبيانات تتبع OpenTelemetry (الموجة الثانية)
  • إساءة استخدام CI/CD: حقن سير العمل لإفراغ toJSON(secrets)، تبادل رمز OIDC لـ npm
  • مفتاح الموتى: rm -rf ~/ إذا تم إلغاء رمز GitHub أثناء نشاط الخفية
  • C2 بالإسقاط الميت (الموجة الثانية): يستقصي واجهة API للبحث عن commits على GitHub بحثًا عن كلمة firedalazer، أوامر موقعة بـ RSA-PSS

ما يتحقق منه هذا السكريبت

#الفحصالوصف
1مفتاح الموتىخفيّات الثبات: gh-token-monitor (الموجة الأولى)، kitty-monitor (الموجة الثانية)
2العمليات الضارةأسماء عمليات المهاجم المعروفة (كلتا الموجتين)
3ملفات الحمولةالملفات الضارة المعروفة بالاسم وتجزئة SHA-256 (4 تجزئات)
4خطافات Claude Codeالخطافات المحقونة في .claude/settings.json + إرشادية SessionStart العامة
5مهام VS Codeالمهام المحقونة في .vscode/tasks.json + إرشادية runOn: folderOpen العامة
6GitHub ActionstoJSON(secrets) في أي سير عمل + تحذير pull_request_target
7ملفات lock الخاصة بـ npmإصدارات الحزم المخترقة في ملفات lock
8الاعتماديات الاختيارية@tanstack/setup و @antv/setup الضارة + 4 تجزئات commit مزيفة
9اتصالات الشبكةاتصالات نشطة إلى بنية C2 التحتية (5 نطاقات/عناوين IP)
10ذاكرة DNS المؤقتةحل سابق لنطاقات المهاجم (4 نطاقات)
11فروع Gitنمط تسمية فروع المهاجم المستوحى من Dune
12سكريبتات دورة الحياةإرشادية: bun run في preinstall/postinstall (الحزم المثبتة)
13C2 بالإسقاط الميتكلمة firedalazer وعلامات "Shai-Hulud" في تاريخ git
14الاعتماديات على GitHubإرشادية: اعتماديات github: مثبتة على تجزئة commit في optionalDeps

الحزم المتأثرة

الموجة الأولى: TanStack (42 حزمة)

فقط @tanstack/router* و @tanstack/start* تأثرت. غير متأثرة: @tanstack/query*, @tanstack/table*, @tanstack/form*, @tanstack/virtual*, @tanstack/store.

الحزمةالإصدارات الضارةأول إصدار آمن
@tanstack/react-router1.169.5, 1.169.81.169.9
@tanstack/router-core1.169.5, 1.169.81.169.9
@tanstack/vue-router1.169.5, 1.169.81.169.9
@tanstack/solid-router1.169.5, 1.169.81.169.9
@tanstack/react-start1.167.68, 1.167.711.167.72
@tanstack/router-plugin1.167.38, 1.167.411.167.42

انظر التنبيه الكامل لجميع الحزم الـ42.

الموجة الثانية: حساب atool (314 حزمة)

جميع الحزم التي نشرها مستخدم npm atool ([email protected]) تلقت إصدارات ضارة في 19 مايو 2026. تشمل الحزم عالية التأثير:

الحزمةالتنزيلات الشهرية
size-sensor4.2M
echarts-for-react3.8M
@antv/scale2.2M
timeago.js1.15M

بالإضافة إلى أكثر من 310 حزمة بشكل أساسي في نطاق @antv/* (@antv/g2, @antv/g6, @antv/l7, @antv/s2, @antv/x6, @antv/f2, إلخ)، و ai-figure، و timeago-react، و jest-canvas-mock، و jest-date-mock، وغيرها.

انظر تقرير SafeDep للقائمة الكاملة.

الإصلاح (إذا تم الاختراق)

هام جدًا: قم بتعطيل مفتاح الموتى قبل إلغاء أي رموز. يقوم البرنامج الضار بمسح $HOME إذا تم إلغاء الرموز أثناء نشاط الخفية.

  1. قم بإنهاء خفيّات الثبات (gh-token-monitor و kitty-monitor) وإزالة خدمات LaunchAgent و systemd
  2. قم بإزالة ملفات الثبات (.claude/router_runtime.js, .vscode/setup.mjs, ~/.local/share/kitty/cat.py, /var/tmp/.gh_update_state، إلخ.)
  3. احذف node_modules وملفات lock، وأعد التثبيت باستخدام --ignore-scripts
  4. قم بتدوير جميع بيانات الاعتماد (npm, GitHub, AWS, GCP, مفاتيح SSH, رموز Vault, رموز مدير كلمات المرور، إلخ.)
  5. احظر نطاقات المهاجم على مستوى DNS/جدار الحماية (api.masscan.cloud, filev2.getsession.org, git-tanstack.com, t.m-kosche.com)
  6. دقق سجلات موفري السحابة للفترة 11-19 مايو 2026

الإعلانات الرسمية والمراجع

الموجة الأولى: TanStack (11 مايو)

  • CVE-2026-45321 (CVSS 9.6 Critical) — سجل CVE
  • GHSA-g7cv-rxg3-hmpx — تنبيه GitHub
  • تحليل TanStack بعد الحادث — tanstack.com/blog/npm-supply-chain-compromise-postmortem
  • متابعة تعزيز TanStack — tanstack.com/blog/incident-followup
  • مشكلة التتبع على GitHub — TanStack/router#7383

الموجة الثانية: الاستيلاء على حساب atool (19 مايو)

  • تحليل SafeDep — safedep.io/mini-shai-hulud-strikes-again-314-npm-packages-compromised/

كتابات باحثي الأمن

تنزيل الأداة