Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
tanstack-compromise-checker — سكربت شل للكشف عن مؤشرات هجوم سلسلة التوريد في TanStack npm (CVE-2026-45321 / GHSA-g7cv-rxg3-hmpx) | Kitploit
أدوات/GitHubGitHub/fabriziosalmi/tanstack-compromise-checker
إدارة مؤشرات الاختراق (IOC)ماسحات الثغرات الأمنيةأمن الحاوياتالتحقيق الجنائي الرقميتحليل البرمجيات الخبيثةDevSecOpsكشف الأسراراستخبارات التهديداتأمن سلسلة التوريد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
الاستجابة للحوادث
GitHubfabriziosalmi/tanstack-compromise-checker

tanstack-compromise-checker

سكربت شل للكشف عن مؤشرات هجوم سلسلة التوريد في TanStack npm (CVE-2026-45321 / GHSA-g7cv-rxg3-hmpx)

عرض المستودع
21منذ 28 أياملم تتم المراجعة بعد

tanstack-compromise-checker

كشف مؤشرات هجوم سلسلة توريد npm الخاص بـ TanStack على جهاز مطور، أو مستودع، أو بيئة تشغيل CI. سكربت Bash، صورة Docker، وإجراء GitHub — نفس المحرك، ثلاث نقاط دخول.

CVE-2026-45321 / GHSA-g7cv-rxg3-hmpx

في 11 مايو 2026، نشر المهاجمون 84 إصدارًا ضارًا عبر 42 حزمة @tanstack/* عبر تسميم ذاكرة التخزين المؤقت لإجراءات GitHub. الحمولة تسرق رموز GitHub، رموز npm، بيانات اعتماد AWS/GCP/Azure، وتقوم بتثبيت برنامج خفي لمفتاح الموتى يقوم بمسح ~/ بمجرد إلغاء الرمز المسروق.

بداية سريعة

اختر نقطة الدخول التي تناسب مكانك.

macOS / Linux / WSL2 / Git Bash

root@kitploit:~
TAG=v1.0.0
curl -fsSLO https://github.com/fabriziosalmi/tanstack-compromise-checker/releases/download/$TAG/check.sh
curl -fsSLO https://github.com/fabriziosalmi/tanstack-compromise-checker/releases/download/$TAG/check.sh.sha256
sha256sum -c check.sh.sha256
bash check.sh --online

Docker — يعمل على أي نظام تشغيل يدير Docker (بما في ذلك Windows)

root@kitploit:~
docker run --rm -v "$PWD":/scan \
  ghcr.io/fabriziosalmi/tanstack-compromise-checker:v1.0.0 \
  /scan true fail tanstack-findings.json '' GHSA-g7cv-rxg3-hmpx

الصورة متعددة البنى (linux/amd64, linux/arm64) وتأتي مع مصدر بناء موقّع عبر GitHub OIDC. تحقق قبل التشغيل:

root@kitploit:~
gh attestation verify \
  oci://ghcr.io/fabriziosalmi/tanstack-compromise-checker:v1.0.0 \
  --repo fabriziosalmi/tanstack-compromise-checker

GitHub Action — حظر التبعيات المخترقة في CI

root@kitploit:~
permissions: {}

jobs:
  check:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - uses: actions/checkout@v6
        with:
          persist-credentials: false
      - uses: fabriziosalmi/tanstack-compromise-checker@v1
        with:
          scan-dir: .
          online: 'true'
          fail-on: fail

سير عمل كامل ومُحصّن موجود في .github/workflows/tanstack-check.yml وهو نفس سير العمل الذي يعمل به هذا المستودع ضد نفسه.

ما يفحصه السكربت

مع --online، يجلب السكربت أيضًا إشعار GHSA أثناء التشغيل بحيث تغطي تغطية الكشف الحالة الحية للإشعار بدلاً من قائمة إصدارات ثابتة.

العائلة المتأثرة: @tanstack/router, @tanstack/react-router, @tanstack/history, @tanstack/start, @tanstack/eslint-plugin-router، والحزم ذات الصلة.

العائلات النظيفة (غير متأثرة): @tanstack/react-query, @tanstack/react-table, @tanstack/react-virtual, @tanstack/form, @tanstack/store.

الاستخدام

root@kitploit:~
# فحص سريع (المستخدم الحالي)
bash check.sh

# وضع الاتصال: الاستعلام عن إشعار GHSA وسجل النشر npm
bash check.sh --online

# فحص دليل محدد
bash check.sh --scan-dir /path/to/your/repos

# إخراج JSON لتكامل CI/SIEM
bash check.sh --json > findings.json

# اقتراح أوامر التثبيت للمستودعات المتأثرة (محاكاة جافة)
bash check.sh --scan-dir /path/to/repos --fix

# توفير قائمة إصدارات ضارة إضافية
bash check.sh --bad-versions-file ./extra-bad-versions.txt

جميع الخيارات

رموز الخروج

الرمزالمعنى
0نظيف — لا توجد مؤشرات ضمن النطاق الممسوح
1تحذيرات فقط — مراجعة موصى بها
2إخفاقات — توجد مؤشرات اختراق
3خطأ في الأداة/الاستخدام

الوضع الأمني

يدافع هذا المستودع عن نفسه ضد نفس فئة الهجوم التي يكتشفها. تحديدًا:

  • كل uses: إجراء GitHub محدد بـ SHA commit بطول 40 حرفًا، وليس tag عائم.
  • صورة Docker الأساسية محددة بملخص ثابت متعدد البنى غير قابل للتغيير.
  • كل سير عمل يصرح بـ permissions: {} على المستوى الأعلى؛ تمنح المهام فقط ما تحتاجه.
  • actions/checkout يُستدعى مع persist-credentials: false بحيث لا يبقى مستودع git موثق في $GITHUB_WORKSPACE.
  • step-security/harden-runner هو الخطوة الأولى في كل سير عمل ويراقب حركة الخروج من بيئة التشغيل.
  • OpenSSF Scorecard يعمل أسبوعيًا وعند كل push إلى main؛ تُرفع النتائج كـ SARIF.
  • كل إصدار ينشر إثبات مصدر بناء SLSA لصورة Docker. يمكن لأي شخص التحقق منه دون اتصال باستخدام gh attestation.
  • كل إصدار يصدر check.sh.sha256 يغطي جميع الملفات القابلة للتثبيت.

السياسة الكاملة في SECURITY.md.

لا تقم بـ curl | bash لأي أداة أمان، بما في ذلك هذه الأداة. دائمًا قم بالتنزيل، تحقق من المجموع الاختباري، افحص، ثم شغّل.

نموذج الإخراج

root@kitploit:~
━━  1 / 8  آثار مفتاح الموتى
  ✔  لم يتم العثور على آثار مفتاح الموتى

━━  2 / 8  نواقل الثبات
  ✔  لم يتم اكتشاف نواقل ثبات

━━  3 / 8  كشف الرموز / بيانات الاعتماد
  ✔  لم يتم اكتشاف كشف بيانات اعتماد

━━  4 / 8  مؤشرات الشبكة
  ✔  لا توجد اتصالات TCP node قائمة حالياً (أو غير قابلة للمراقبة)

━━  5 / 8  فحص المستودع — package.json + ملفات القفل
  ℹ  تم العثور على 12 package.json + 8 ملف(ات) قفل
  ✔  لم يتم الإعلان عن عائلة مخترقة في أي package.json
  ✔  لم يتم العثور على تثبيتات مخترقة في أي ملف قفل

━━  6 / 8  node_modules المثبتة — فحص الإصدار المباشر
  ✔  لا توجد حزم مخترقة في node_modules المثبتة

━━  7 / 8  تلميحات تحصين GitHub Actions
  ✔  لم يتم اكتشاف أنماط GitHub Actions خطيرة (في النطاق الممسوح)

━━  8 / 8  حمولة Mini Shai-Hulud + مؤشرات مساعدة
  ✔  لم يتم اكتشاف حمولة Mini Shai-Hulud / مؤشرات مساعدة

━━  ملخص
  نجح: 8    تحذيرات: 0    إخفاق: 0
  النطاق : /Users/alice/dev
  ✔  لا توجد مؤشرات اختراق ضمن النطاق: /Users/alice/dev
  ملاحظة: نتيجة نظيفة لـ /Users/alice/dev لا تصدق بقية النظام.

إذا كنت مخترقًا

لا تقم بإلغاء رمز GitHub الخاص بك قبل إيقاف البرنامج الخفي — سيقوم مفتاح الموتى بتنفيذ rm -rf ~/ بمجرد إلغاء الرمز.

  1. أوقف البرنامج الخفي أولاً:
    • macOS 14+: launchctl bootout gui/$UID ~/Library/LaunchAgents/com.user.gh-token-monitor.plist
    • macOS القديم: launchctl unload ~/Library/LaunchAgents/com.user.gh-token-monitor.plist
    • Linux: systemctl --user stop gh-token-monitor && systemctl --user disable gh-token-monitor
  2. أزل السكربت: rm -f ~/.local/bin/gh-token-monitor.sh
  3. ثم قم بإلغاء وتدوير: رمز GitHub، رمز npm، بيانات اعتماد AWS/GCP/Azure، مفاتيح SSH، وكيل SSH.
  4. راجع سجل تدقيق GitHub: https://github.com/settings/security-log
  5. افحص ~/.aws/credentials, ~/.kube/config, ~/.config/gh/hosts.yml, ~/.npmrc.

التبعيات

يحتاج سكربت bash إلى:

  • bash 4+
  • jq (موصى به) — تحليل package-lock.json
  • python3 (احتياطي اختياري) — يُستخدم عند غياب jq
  • curl — مطلوب لـ --online
  • lsof أو ss (اختياري) — استدلال مؤشرات الشبكة

صورة Docker تحتوي على كل ما سبق. استخدمها على الأنظمة التي لا يمكنك أو لا ترغب في تثبيت هذه الأدوات عليها.

المساهمة

مرحب بالمشكلات وطلبات السحب. لاحظ أن هذا المستودع يستخدم CODEOWNERS: جميع طلبات السحب تتطلب مراجعة من المشرف.

المراجع

  • التقرير الرسمي لـ TanStack
  • إشعار GitHub GHSA-g7cv-rxg3-hmpx
  • تحليل Snyk
  • مدونة Wiz — Mini Shai-Hulud
  • كتابة StepSecurity
  • Orca Security — 160+ حزمة

الترخيص

MIT.

تنزيل الأداة
#الفحصالوصف
1مفتاح الموتى~/.local/bin/gh-token-monitor.sh، LaunchAgents + LaunchDaemons (macOS)، systemd user + system units (Linux)، العمليات الجارية
2الثباتملفات شل rc، crontab المستخدم/النظام، /etc/cron.*، الإقلاع التلقائي XDG، core.hooksPath العام git
3بيانات الاعتمادمتغيرات البيئة الحساسة، ~/.npmrc، ~/.yarnrc.yml، ~/.aws/credentials، ~/.config/gh/hosts.yml، ~/.netrc، ~/.docker/config.json، ~/.kube/config، تعداد ملفات .env*
4مؤشرات الشبكةعمليات node الجارية مع اتصالات TCP صادرة مؤكدة (استدلالي، مراجعة يدوية)
5فحص المستودعpackage.json التبعيات المُعلنة + الإصدارات المثبتة في ملفات القفل (package-lock.json, yarn.lock, pnpm-lock.yaml)
6المثبتةnode_modules/@tanstack/*/package.json يتم التحقق منه مقابل قائمة الإصدارات الضارة المعروفة، ثم مقابل سجل npm time[<version>] عند --online
7تلميحات الإجراءاتفحص .github/workflows/* لوجود pull_request_target، نقص --ignore-scripts، استخدام actions/cache
8مؤشرات Mini Shai-Huludملفات الحمولة في node_modules (router_init.js, tanstack_runner.js)، @tanstack/setup optionalDependency، التلاعب بإعدادات أدوات AI، نطاقات C2 في المصدر، نمط مؤلف الالتزام + الفرع المهاجم، رموز npm المُعلَمة بالفدية، الحزم الثانوية المنتشرة عبر الدودة، بالإضافة إلى استدلالات مستوى معلومات للأشكال غير المعروفة للحمولة
العلمالوصف
--scan-dir DIRالدليل الجذر للمسح (الافتراضي: $HOME). يرفض مسح أدلة النظام مثل /, /etc, /usr.
--onlineالاستعلام عن إشعار GHSA وسجل npm time[<version>] لتأكيد الاختراق. غير مفعل افتراضيًا — اشتراك اختياري.
--ghsa GHSA-IDتجاوز معرف الإشعار المستخدم في --online (الافتراضي GHSA-g7cv-rxg3-hmpx).
--attack-window-start ISO, --attack-window-end ISOتجاوز نافذة زمن النشر المستخدمة في --online.
--fixطباعة أوامر التثبيت الموصى بها للمستودعات المتأثرة (محاكاة جافة افتراضيًا).
--applyمع --fix: اشتراك اختياري للتنفيذ. حاليًا لا يزال يرفض التحديث الأعمى؛ التثبيت اليدوي مطلوب.
--yes, -yتخطي رسالة التأكيد لـ --apply.
--jsonإصدار النتائج كـ JSON إلى stdout (يعني --quiet).
--bad-versions-file Fإضافة إدخالات (pkg@version، سطر واحد لكل إدخال) إلى قائمة الإصدارات الضارة.
--no-colorتعطيل ألوان ANSI.
--quiet, -qإخفاء مخرجات كل فحص، طباعة الملخص فقط.
-h, --helpعرض المساعدة.