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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
supply-chain-guard — اكتشف، قيّم، واستجب لهجمات سلسلة التوريد عبر npm/yarn وPython (pip/poetry/uv). مهارة Claude Code + نصوص برمجية مستقلة. طُوّرت أثناء axios RAT (2026-03-31) وStarlette BadHost CVE-2026-48710 (2026-05-22). | Kitploit
أدوات/GitHubGitHub/eris-ths/supply-chain-guard
إدارة مؤشرات الاختراق (IOC)ماسحات الثغرات الأمنيةالبرمجة النصية والأتمتةتحليل البرمجيات الخبيثةDevSecOpsاستخبارات التهديداتأمن سلسلة التوريدالتعلم والتعليمالاستجابة للحوادث
GitHuberis-ths/supply-chain-guard

supply-chain-guard

اكتشف، قيّم، واستجب لهجمات سلسلة التوريد عبر npm/yarn وPython (pip/poetry/uv). مهارة Claude Code + نصوص برمجية مستقلة. طُوّرت أثناء axios RAT (2026-03-31) وStarlette BadHost CVE-2026-48710 (2026-05-22).

311منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

Supply Chain Guard (SCG)

مجموعة أدوات للاستجابة للحوادث لهجمات سلسلة التوريد على npm/yarn وPython (pip/poetry/uv) — مجانية، محلية، بدون تبعيات.

SCG ليس محرك فحص ينافس الأدوات التجارية في التغطية. إنه مهارة Claude Code ومجموعة أدوات شل مستقلة تنجز ثلاثة أشياء بشكل جيد: (1) يمنحك استجابة أولى سريعة وقابلة للتكرار عند وقوع حادثة محددة ("هل جهازي متأثر الآن؟")، (2) ينظّم الماسحات مفتوحة المصدر الحالية (npm audit, osv-scanner, pip-audit) في مسار واحد منظم، و**(3)** يوثّق دروس النظافة التصميمية — خاصة لبيئات تطوير الذكاء الاصطناعي — التي لا تغطيها الماسحات العامة.

تم بناؤه وتقويته أثناء حوادث حقيقية، بما في ذلك:

  • حادثة [email protected] RAT (2026-03-31) — استيلاء على حساب صيانة npm (UNC1069/DPRK-APT) يحقن تبعية وهمية تعمل كحصان طروادة عن بُعد
  • Starlette BadHost (CVE-2026-48710, 2026-05-22) — ثغرة حقن في مسار Host header لإطار عمل Python HTTP → SSRF/RCE، تؤثر على FastAPI وvLLM وLiteLLM والنظام البيئي الأوسع لوكلاء الذكاء الاصطناعي

What's new in v4 (2026-05-27)

  • فحص سلسلة توريد Python — scripts/project-scan-py.sh مع pip-audit / osv-scanner / كشف الإصدارات المflaggedة بـ CVE
  • طبقة الإصدارات المflaggedة بـ CVE (L3-CVE) — تتبع الإصدارات الضعيفة المعروفة من الحزم الشرعية مع تقييم صارم لدلالات semver (BadHost CVE-2026-48710 مضمنة افتراضيًا)
  • دليل النظافة التصميمية — نقل MCP بأولوية stdio، وانضباط تثبيت الإصدارات، وتقوية حساب الخدمة الافتراضي لحوسبة GCP (انظر SKILL.md §D.7 DesignHygiene)
  • تكامل عدسة Guild-CLI Devil — استدعاء SCG كعدسة Devil من سير عمل guild-cli (انظر "Guild-CLI Devil Integration" أدناه)

جدول المحتويات

  • لماذا هذا موجود
  • كيف يختلف SCG عن الأدوات الحالية
  • ما هو SCG (وما ليس كذلك)
  • البنية
  • بدء سريع
  • أوضاع الفحص
  • الاستخبارات التهديدية
  • إطار Devil Gate
  • البرامج النصية المستقلة
  • تكامل CI/CD
  • دليل الاستجابة
  • مرجع مؤشرات الاختراق
  • إخلاء مسؤولية
  • القيود
  • التحقق من السلامة
  • الترخيص

لماذا هذا موجود

في 31 مارس 2026، تم اختراق حزمة npm واسعة الاستخدام axios (الإصدارات v1.14.1 وv0.30.4) عبر استيلاء على حساب صيانة يُنسب إلى UNC1069/DPRK-APT (وفقًا لمجموعة استخبارات التهديدات من Google). حقن الهجوم تبعية وهمية ([email protected]) تقوم بنشر حصان طروادة للتحكم عن بُعد عبر سكربتات postinstall، متنكرة في هيئة عمليات نظام مشروعة.

Supply Chain Guard (SCG) تم بناؤه أثناء الحادثة لتوفير:

  1. كشف فوري — هل جهازي أو مشروعي متأثر الآن؟
  2. تقييم منظم — ما مدى الخطورة؟ ما نصف قطر الانفجار؟
  3. استجابة موجّهة — معالجة خطوة بخطوة مع تأكيدات أمان
  4. دفاع مستمر — إطار تحقق من 8 بوابات لمنع التكرار

كيف يختلف SCG عن الأدوات الحالية

SCG ليس بديلاً عن أدوات الأمان الحالية. فهو يجمع طبقات كشف متعددة مع إطار تحقق منظم ومعالجة موجّهة — مصمم للاستخدام أثناء الحوادث النشطة أو كتدقيق دوري إلى جانب أدواتك الحالية.

متى تستخدم SCG:

  • حدثت حادثة سلسلة توريد للتو وتحتاج لفحص أجهزتك ومشاريعك الآن
  • تريد عملية منظمة وقابلة للتكرار للتحقق من معالجة الاختراق بالكامل
  • تحتاج فحصًا خفيفًا يعمل محليًا بدون اعتماد على SaaS

متى تستخدم شيئًا آخر:

  • تحتاج مراقبة لحظية مستمرة → Snyk, Socket.dev
  • تحتاج فحص امتثال تراخيص → Snyk, FOSSA
  • تحتاج تغطية تتجاوز npm/yarn → osv-scanner (يدعم pip, cargo, go، وغيرها)

ما هو SCG (وما ليس كذلك)

نفضل أن نكون صريحين بشأن الحدود بدلاً من المبالغة. SCG ثلاثة أشياء:

  1. دليل استجابة للحوادث، كرمز. عند وقوع حادثة مسماة (axios RAT، Shai-Hulud، CVE جديد)، يحوّل SCG عبارة "هل أنا متأثر، وإذا كان الأمر كذلك ماذا أفعل؟" إلى قائمة تحقق قابلة للتنفيذ — 8 بوابات تحقق، ومصفوفة خطورة، وسكربت معالجة حيث يتطلب كل إجراء تدميري تأكيدًا صريحًا [y/N]. هذه هي قيمته الأساسية: الاستجابة الأولى السريعة والمنظمة التي لا تُصمم لها أدوات المراقبة التجارية.

  2. منسّق للماسحات مفتوحة المصدر الحالية. تغلّف طبقتا L1/L2 أدوات npm audit / pip-audit / osv-scanner. معظم قوة الكشف الخام مستعارة؛ مساهمة SCG هي دمجها في مسار واحد، وإضافة فحوصات نظام ملفات/IOC لا تقوم بها أدوات السجل، وجعل المخرجات قابلة للقراءة والتنفيذ.

  3. توثيق لدروس النظافة التصميمية الحقيقية (SKILL.md §D.7) — أشياء واجهناها أو حققنا فيها فعلًا: اختيار نقل MCP، وتقوية حساب الخدمة الافتراضي في GCP، ونواقل التنفيذ وقت التثبيت، والتهديدات التي تستهدف أدوات تطوير الذكاء الاصطناعي (Shai-Hulud يقرأ .claude/settings.json، وSANDWORM_MODE يسمّم إعدادات MCP). هذا المجال — نظافة سلسلة التوريد للتطوير بمساعدة الذكاء الاصطناعي — هو حيث يتميز SCG حقًا.

ما ليس SCG عن قصد

  • ليس منافسًا في التغطية. قاعدة بيانات التهديدات (SKILL.md D.2، قوائم L3 الثابتة) تُصان يدويًا — تحوي الحوادث التي قرأنا عنها، وليس عشرات الآلاف من الحزم الضارة التي تتعقبها خلاصة تجارية حية. قائمة منسقة يدويًا لا يمكنها مواكبة المعدل الحقيقي للتهديدات الجديدة، ولا ندّعي ذلك.
  • ليس محرك تحليل سلوكي. يطابق SCG الأنماط المعروفة. الحمولات المبهمة والثغرات صفرية اليوم الحقيقية بدون استشارة عامة خارج النطاق بحكم البنية.
  • ليس مراقبة مستمرة. إنه فحص في نقطة زمنية تشغّله أثناء حادثة أو كجولة دورية — وليس خدمة تراقب رسم تبعياتك.

أين يتجه SCG

بما أن قاعدة بيانات منسقة يدويًا لا يمكنها الفوز بالتغطية، فإننا نستثمر عمدًا حيث يصعب استبدال SCG بدلاً من حيث سيخسر دائمًا:

  • دلائل استجابة أعمق (#1) — بيئة عمل أفضل للاستجابة الأولى، ومزيد من قوالب الحوادث.
  • نظافة بيئات تطوير الذكاء الاصطناعي (#3) — كشف وإرشاد للتهديدات الموجهة إلى Claude Code / Cursor / خوادم MCP وأدوات مشابهة، وهو ما لا تعالجه ماسحات سلسلة التوريد التجارية إلى حد كبير.

ستستمر قاعدة بيانات التهديدات الثابتة (#2) في التحديث عند وقوع حوادث بارزة، لكنها صراحةً ليست الاتجاه الذي نحاول المنافسة فيه.


البنية

يتبع SCG بنية التصميم المدفوع بالمجال (DDD) بثلاث طبقات:``` +-----------------------------------------------------+ | Domain Layer | | Threat models, known threats DB, severity matrix, | | Devil Gate definitions | +-----------------------------------------------------+ | Application Layer | | Use cases, scan pipeline, response protocols, | | Devil execution loop | +-----------------------------------------------------+ | Infrastructure Layer | | Scanner scripts (npm audit, OSV, static list, | | IOC filesystem, network, lockfile integrity) | +-----------------------------------------------------+

root@kitploit:~
### خط أنابيب الفحص

ينطبق خط الأنابيب نفسه المكوّن من 5 طبقات على كلا النظامين البيئيين، مع ماسحات ضوئية خاصة بكل نظام بيئي في كل طبقة:```
L1 ──→ L2 ──→ L3 ──→ IOC ──→ LF ──→ assess(SeverityMatrix) ──→ VERDICT

يغذّي كلا المسارين نفس SeverityMatrix وDevil Gate Framework.


البدء السريع

كمهارة Claude Code

انسخ SKILL.md إلى دليل مهارات Claude Code لديك:```bash

Global (all projects)

cp SKILL.md ~/.claude/skills/supply-chain-guard.md

Or project-specific

mkdir -p .claude/skills cp SKILL.md .claude/skills/supply-chain-guard.md

root@kitploit:~
ثم استدعِ في Claude Code:```
> /supply-chain-guard
> "Check this project for supply chain issues"
> "Is my machine affected by the axios compromise?"

كنصوص مستقلة```bash

Environment-wide scan (IOC + all projects) [READ-ONLY]

./scripts/env-scan.sh

npm/yarn project scan (requires package.json in cwd) [READ-ONLY]

./scripts/project-scan.sh

Python project scan (requires pyproject.toml / requirements*.txt / poetry.lock / uv.lock in cwd) [READ-ONLY, added in v4]

./scripts/project-scan-py.sh

IOC-only scan (filesystem + network artifacts) [READ-ONLY]

./scripts/ioc-scan.sh

Remediation (interactive, every action requires confirmation)

./scripts/respond.sh --critical # Full RAT cleanup (npm + Python) ./scripts/respond.sh --high axios 1.14.0 # Pin npm package to safe version ./scripts/respond.sh --high urllib3 2.7.0 # Pin Python package (auto-detects pip/poetry/uv)

root@kitploit:~
> **المعالجة في Python متحفظة بحكم التصميم.** بالنسبة إلى npm، يطبّق `--high` التجاوز
> تلقائيًا. أما بالنسبة إلى Python، فهو *يوجّه*: يكتشف مدير الحزم
> (pip/poetry/uv)، ويطبع الأمر الدقيق لتثبيت الإصدار، ولا يطبّق إلا الخطوة الآمنة —
> تُعرض لك أوامر تعديل ملف القفل وإعادة بناء البيئة الافتراضية لتنفيذها. وهذا
> يتجنّب أن يتسبب الإنذار الإيجابي الكاذب في إعادة تثبيت قسرية شاملة عبر
> النظام البيئي المجزّأ لتغليف Python.

بالنسبة إلى مستودع متعدد اللغات (npm + Python)، شغّل ماسحي المشروع معًا بالتتابع من المجلدات الفرعية ذات الصلة.

> **تصميم السلامة:** جميع سكربتات الفحص للقراءة فقط بشكل صارم — فهي لا تعدّل أو تحذف أو تثبّت أي شيء أبدًا. سكربت المعالجة (`respond.sh`) هو السكربت الوحيد الذي ينفّذ عمليات تدميرية، و**كل إجراء على حدة يتطلب تأكيدًا صريحًا `[y/N]`** مع أن الافتراضي هو NO.

---

## أوضاع الفحص

### فحص البيئة (`env_scan`)

يفحص جهاز التطوير بالكامل بحثًا عن مؤشرات الاختراق.

| Check | Description |
|-------|-------------|
| **IOC: نظام الملفات** | ملفات RAT الثنائية، آليات الثبات، ملفات التجهيز |
| **IOC: الشبكة** | اتصالات C2 نشطة (IP + نطاق) |
| **IOC: العمليات** | عمليات ضارة قيد التشغيل |
| **عبر المشاريع** | فحص جميع ملفات `package-lock.json` بحثًا عن إصدارات مخترقة |
| **الحزم الضارة** | أسماء الحزم الضارة المعروفة في أي ملف قفل |

**المحفزات:** "هذا الكمبيوتر"، "فحص البيئة"، "على مستوى الجهاز"

### فحص المشروع — npm/yarn (`project_scan`)

فحص عميق لمشروع npm/yarn واحد. شغّله من مجلد يحتوي على `package.json`.

| Layer | Scanner | Description |
|-------|---------|-------------|
| **L1** | `npm audit` | ثغرات معروفة عبر سجل npm |
| **L2** | `osv-scanner` / OSV.dev API | قاعدة بيانات Google للثغرات في البرمجيات مفتوحة المصدر |
| **L3** | قائمة ثابتة | فحص الحزم الضارة المعروفة المضمّنة في الكود |
| **IOC** | Filesystem + Network | اكتشاف آثار RAT |
| **LF** | Lockfile integrity | `npm ci --dry-run` + عدد تجزئات التكامل |

**المحفزات:** "هذا المشروع"، "npm audit"، أو وجود `package.json` في مجلد العمل الحالي

### فحص المشروع — Python (`project_scan_py`، أُضيف في الإصدار v4)

فحص عميق لمشروع Python واحد. شغّله من مجلد يحتوي على `pyproject.toml` أو `requirements*.txt` أو `poetry.lock` أو `uv.lock`.

| Layer | Scanner | Description |
|-------|---------|-------------|
| **L1** | `pip-audit` | ثغرات معروفة عبر قاعدة بيانات PyPI الاستشارية (اختياري — تخطَّ إذا لم يكن مثبتًا؛ يُنصح بتنفيذ `pip install pip-audit`) |
| **L2** | `osv-scanner` | قاعدة بيانات Google للثغرات في البرمجيات مفتوحة المصدر مقابل `uv.lock` / `poetry.lock` / `requirements*.txt` (اختياري — تخطَّ إذا لم يكن مثبتًا) |
| **L3-MAL** | Static malicious list (`_L3_LIST`) | أسماء الحزم المعروفة التي تم اختطافها / أو التي تحاكي أسماء حزم شرعية (typosquatting). يطابق قائمة PEP 621، وإعلانات Poetry المضمّنة، والإعلانات بأسلوب requirements (انظر [PR #4](https://github.com/eris-ths/supply-chain-guard/pull/4)). يفشل عند حدوث تطابق |
| **L3-CVE** | Static CVE-flagged version list (`_L3_CVE_LIST`) | الإصدارات المعروفة والضعيفة من الحزم الشرعية (مثل `starlette<1.0.1` الخاصة بـ [BadHost CVE-2026-48710](https://cryptobriefing.com/starlette-badhost-vulnerability-ai-agents/)). تقييم صارم وفق مواصفة semver عبر مكتبة `packaging` في Python. يفشل عند تأكيد التطابق. يحذّر إذا كانت الحزمة مُصرَّحة لكن لا يوجد ملف قفل (لا يمكن تقييم الإصدار) |
| **IOC** | Filesystem + Process | فحص آثار بنكهة Python (سكربتات مارقة، عمليات مشبوهة) |
| **LF** | Lockfile integrity | يتحقق من أن `uv.lock` / `poetry.lock` / `requirements*.txt` تُحلَّل بشكل سليم وتحتوي على إصدارات مثبّتة (pinned) |

**المحفزات:** "هذا المشروع" مع وجود ملفات Python، أو أي من `pyproject.toml` / `requirements*.txt` / `poetry.lock` / `uv.lock` في مجلد العمل الحالي

> **ملاحظة حول التبعيات:** يتخطّى كل من L1 (`pip-audit`) وL2 (`osv-scanner`) بأدب مع تلميح عند غياب واجهة الأوامر (CLI) الخاصة بكل منهما. إلّا أن L3 هي الطبقة النشطة دائمًا ولا تتطلب أي أداة خارجية، لكن التقييم الدقيق لـL3-CVE يتطلب `pip install packaging`.

---

## استخبارات التهديدات

### قاعدة بيانات التهديدات المعروفة

| ID | التاريخ | الحزمة | الفاعل المهدِّد | الناقل |
|----|------|---------|-------------|--------|
| **T001** | 2026-03-31 | `[email protected]`, `[email protected]` | UNC1069/DPRK-APT | اختراق المشرف → اعتماديات شبحية → RAT |
| **T002** | 2018-11 | `[email protected]` | غير معروف | حقن التبعية → سرقة العملات الرقمية |
| **T003** | مستمر | `crossenv`, `loadsh`, `crypto-js-esm` | متنوعون | انتحال الأسماء → تسريب البيانات بعد التثبيت (postinstall) |

### سلسلة القتل T001 (axios RAT)```
Credential theft → npm publish (bypass CI) → Inject phantom dep (plain-crypto-js)
    → postinstall exec → RAT drop → C2 beacon (sfrclak.com:8000) → Persist

الإصدارات الآمنة

الحزمةآمنمخترق
axios (الأحدث)1.14.0 (محدد) أو >=1.14.21.14.1
axios (قديم)0.30.3 (محدد)0.30.4

معرّفات النشرات الأمنية

  • GHSA-fw8c-xr5c-95f9
  • MAL-2026-2306

إطار عمل Devil Gate

يستخدم SCG إطار تحقق من 8 بوابات منظمًا في 4 فئات، ويُنفَّذ كسلسلة متسلسلة مع حلقة تقارب.

البوابات

تنفيذ السلسلة```

S1: Dependency (G1+G2) → S2: Runtime (G3+G4) → S3: Integrity (G5+G6) → S4: Environment (G7+G8) → Any fail? → Fix → Re-run entire chain → All pass? → "No concerns" → Done → 3 rounds without convergence? → Escalate to user

root@kitploit:~
### مصفوفة الخطورة

| المستوى | الشرط | الإجراء |
|-------|-----------|--------|
| **CRITICAL** | تم العثور على أثر برمجية RAT أو تثبيت حزمة خبيثة | عزل الشبكة ← قتل العملية ← إزالة الثبات ← إعادة التثبيت |
| **HIGH** | إصدار مُخترق قيد الاستخدام | تثبيت إصدار آمن ← تجاوز ← `npm ci` ← تحقق |
| **MEDIUM** | نص برمجي مشبوه بعد التثبيت | مراجعة يدوية ← إدراج في القائمة البيضاء أو إزالة |
| **LOW** | انحراف ملف القفل | إعادة مزامنة `npm ci` |
| **CLEAR** | جميع الفحوصات ناجحة | لا حاجة لإجراء |

> **السلامة:** تتضمن استجابات CRITICAL/HIGH عمليات تدميرية. تعرض SCG دائمًا النتائج وتطلب تأكيدًا صريحًا من المستخدم قبل تنفيذ المعالجة.

---

## البرامج النصية المستقلة

### `scripts/env-scan.sh`

فحص كامل للبيئة. يفحص آثار مؤشرات الاختراق (IOC)، ويفحص جميع ملفات القفل ضمن `$HOME` (قابلة للتكوين)، ويُبلغ عن الحزم المخترقة.```bash
./scripts/env-scan.sh [scan_root_dir]
# Default: $HOME

scripts/project-scan.sh

فحص على مستوى المشروع. شغّله من مجلد يحتوي على package.json.```bash cd my-project /path/to/scripts/project-scan.sh

root@kitploit:~
### `scripts/ioc-scan.sh`

فحص IOC فقط. يفحص آثار نظام الملفات، والعمليات الجارية، واتصالات الشبكة مقابل مؤشرات C2 المعروفة. متعدد المنصات (macOS/Linux/Windows عبر PowerShell).```bash
./scripts/ioc-scan.sh

scripts/respond.sh

المعالجة التفاعلية. يتطلب كل إجراء مدمر تأكيد [y/N] (الافتراضي: NO).```bash

CRITICAL: Full RAT cleanup (kill → remove → reinstall)

./scripts/respond.sh --critical

HIGH: Pin compromised package to safe version

./scripts/respond.sh --high axios 1.14.0 # npm ./scripts/respond.sh --high event-stream 3.3.5 # npm ./scripts/respond.sh --high urllib3 2.7.0 # python (pip/poetry/uv auto-detected)

root@kitploit:~
الخطوات في وضع `--critical`:
1. عزل الشبكة (حظر نطاق C2 عبر `/etc/hosts`)
2. إنهاء عمليات RAT
3. إزالة الاستمرارية (LaunchAgents / crontab / المهام المجدولة)
4. حذف `node_modules` وملف القفل، ومسح ذاكرة npm المؤقتة
   - **4b (Python):** مسح ذاكرة pip المؤقتة (آمن، تلقائي)؛ إعادة بناء venv تظهر كخطوات يدوية
5. إعادة تثبيت التبعيات
6. المطالبة بفحص التحقق (`project-scan.sh` و/أو `project-scan-py.sh`)

تتحقق كل خطوة مما إذا كان الإجراء مطلوبًا بالفعل (مثلًا، تتخطى "kill" إذا لم تكن هناك عملية RAT قيد التشغيل) وتعرض بالضبط ما سيتم تنفيذه قبل طلب التأكيد.

بالنسبة لوضع **HIGH**، يطبّق npm التجاوز تلقائيًا؛ بينما تكون Python موجّهة (اكتشاف المدير ← طباعة أمر التثبيت ← تطبيق الخطوة الآمنة فقط). راجع ملاحظة معالجة Python في [Quick Start](#quick-start).

---

## التكامل مع CI/CD

### GitHub Actions```yaml
name: Supply Chain Guard
on:
  pull_request:
    paths:
      - 'package.json'
      - 'package-lock.json'
      - 'yarn.lock'

jobs:
  scg-scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'

      - name: Install dependencies (hardened)
        run: npm ci --ignore-scripts

      - name: Run SCG project scan
        run: |
          chmod +x ./scripts/project-scan.sh
          ./scripts/project-scan.sh

      - name: Run IOC scan
        run: |
          chmod +x ./scripts/ioc-scan.sh
          ./scripts/ioc-scan.sh

توصيات التحصين```bash

Always use in CI:

npm ci --ignore-scripts # Block postinstall execution

npm ci already enforces lockfile integrity by design (errors on mismatch)

Yarn equivalent:

yarn install --frozen-lockfile --ignore-scripts

root@kitploit:~
> **ثبّت الإجراءات (Actions) بواسطة SHA، وليس بالوسم (tag).** المثال أعلاه يستخدم `actions/checkout@v4` لسهولة القراءة، لكن الوسوم يمكن تغييرها. في الإنتاج، ثبّت على SHA كامل للالتزام لمنع هجمات سلسلة توريد الإجراءات:
> ```yaml
> - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
> - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af  # v4.1.0
> ```

---

## دليل الاستجابة

### إذا كانت الحالة حرجة (تم اكتشاف RAT)

> **لا داعي للذعر.** اتبع هذه الخطوات بالترتيب. كل خطوة تتطلب تأكيدك الصريح.

1. **عزل الشبكة** — احظر نطاق C2 عبر `/etc/hosts`
2. **إنهاء العمليات** — قم بإنهاء عمليات RAT (`com.apple.act.mond`, `ld.py`, `wt.exe`)
3. **إزالة الاستمرارية** — احذف LaunchAgents وcrontabs والمهام المجدولة
4. **تنظيف npm** — أزل `node_modules` و`package-lock.json` وامسح ذاكرة التخزين المؤقت لـ npm
5. **إعادة التثبيت** — نفّذ `npm install && npm ci` بشكل نظيف
6. **إعادة الفحص** — أعد تشغيل خط الأنابيب بالكامل، وتوقع النتيجة CLEAR

### إذا كانت الحالة مرتفعة (تم تثبيت إصدار مخترق)

1. **ثبّت الإصدار الآمن** باستخدام respond.sh:   ```bash
   ./scripts/respond.sh --high axios 1.14.0

يضيف هذا overrides (npm) أو resolutions (yarn) إلى package.json، ويعيد التثبيت، ويطلب التحقق.

  1. أو يدويًا في package.json: ```json { "overrides": { "axios": "1.14.0" } }
    root@kitploit:~

Yarn: { "resolutions": { "axios": "1.14.0" } }

  1. إعادة التثبيت: npm ci
  2. التحقق: أعد إجراء الفحص

مرجع مؤشرات الاختراق (IOC)

آثار نظام الملفات

آليات الاستمرارية

مؤشرات الشبكة

النوعالقيمة
نطاق C2sfrclak.com
عنوان IP الخاص بـ C2142.11.206.73
منفذ C28000

تقنيات التمويه

المنصةمتنكرًا في هيئة
macOSعملية نظام Apple (com.apple.act.mond)
WindowsWindows Terminal (wt.exe في ProgramData)

تنسيق الإخراج```

SCG ────────────────────────────────── [L1:audit] CLEAR|!!sev [L2:osv] CLEAR|!!vuln-ids [L3:static] CLEAR|!!pkg [IOC:fs] CLEAR|!!C:artifact [IOC:net] CLEAR|!!C:c2 [LF:integ] CLEAR|!!drift ─── Devil Gate(8) ──────────────────── G1:direct_dep G2:transitive G3:rat_fs G4:postinstall G5:lockfile G6:provenance G7:network G8:cicd ─── Devil Chain(R.N) ───────────────── S1:dependency → S2:runtime → S3:integrity → S4:environment ─── Loop ───────────────────────────── R.N → converge|continue [VERDICT] CLEAR|HIGH|CRITICAL ───────────────────────────────────────

root@kitploit:~
---

## المراجع

| المصدر | الوصف |
|--------|-------------|
| [Zenn (JP)](https://zenn.dev/gunta/articles/0152eadf05d173) | تقرير ياباني مبكر |
| [Elastic Security Labs](https://elastic.co/security-labs/axios-one-rat-to-rule-them-all) | تحليل تقني (تفكيك RAT، بروتوكول C2، الجدول الزمني) |
| [SANS](https://sans.org/blog/axios-npm-supply-chain-compromise-malicious-packages-remote-access-trojan) | إجراءات الاستجابة للحوادث للمؤسسات |
| [Huntress](https://huntress.com/blog/supply-chain-compromise-axios-npm-package) | توقيعات YARA |
| [Elastic Detections](https://elastic.co/security-labs/axios-supply-chain-compromise-detections) | قواعد كشف SIEM (YARA/osquery/KQL) |
| [Semgrep](https://semgrep.dev/blog/2026/axios-supply-chain-incident-indicators-of-compromise-and-how-to-contain-the-threat/) | قواعد التحليل الثابت، دليل الاحتواء |
| [SOCRadar](https://socradar.io/blog/axios-npm-supply-chain-attack-2026-ciso-guide/) | دليل CISO مع جدول زمني لمؤشرات الاختراق (IOC) |
| [Wiz](https://wiz.io/blog/axios-npm-compromised-in-supply-chain-attack) | تحليل تأثير السحابة، فحص الحاويات |
| [NVD CVE-2026-48710](https://nvd.nist.gov/vuln/detail/CVE-2026-48710) | **أساسي** — الإدخال المعياري لـNVD (نُشر في 2026-05-26، درجة أساسية CVSS 3.1 6.5 متوسطة، AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N) |
| [GHSA-86qp-5c8j-p5mr](https://github.com/Kludex/starlette/security/advisories/GHSA-86qp-5c8j-p5mr) | **أساسي** — استشارة GitHub الأمنية على `Kludex/starlette` (نُشرت في 2026-05-21): "التحقق المفقود من ترويسة Host يسمم request.url.path، متجاوزًا فحوصات الأمان المستندة إلى المسار" |
| [ملاحظات إصدار Starlette v1.0.1](https://github.com/Kludex/starlette/releases/tag/1.0.1) | **أساسي** — إصدار الإصلاح (نُشر في 2026-05-21). ثبّت `starlette>=1.0.1` (و`fastapi>=0.119` للحل الترابطي) |
| [تغطية Starlette BadHost (KuCoin)](https://kucoin.com/news/flash/starlette-vulnerability-exposes-millions-of-ai-agents-to-hackers) | ثانوي — تأثير على نظام Python البيئي، تأطير وكلاء الذكاء الاصطناعي |
| [تحليل BadHost لوكلاء الذكاء الاصطناعي (CryptoBriefing)](https://cryptobriefing.com/starlette-badhost-vulnerability-ai-agents/) | ثانوي — تأطير التأثير النهائي على FastAPI / vLLM / LiteLLM |

---

## تكامل Guild-CLI مع Devil

إذا كنت تستخدم [guild-cli](https://github.com/eris-ths/guild-cli) (أو أي مشروع يعرض سير عمل لعدسة Devil)، يمكن استدعاء SCG كإحدى العدسات الأمنية أثناء جولة المراجعة.

### نمط الاستدعاء الموصى به```bash
# Inside a guild-cli review session, in the project root:
~/path/to/supply-chain-guard/scripts/project-scan.sh       # for npm/yarn projects
~/path/to/supply-chain-guard/scripts/project-scan-py.sh    # for Python projects

# Capture the scan output as evidence for a judgment:
SCG_OUTPUT=$(~/path/to/supply-chain-guard/scripts/project-scan.sh 2>&1 || true)

# (a) Record it as a new judgment (fast-track — no prior review needed):
gate fast-track --from "$USER" \
  --action "SCG supply-chain scan (Devil lense)" \
  --reason "$SCG_OUTPUT"

# (b) Or attach it as the Devil lense on an existing review request <id>:
gate review <id> --lense devil --verdict concern --note "$SCG_OUTPUT"

ملاحظات حول الأعلام (تم التحقق منها مقابل guild-cli): gate review يتطلب وجود <id> موجود مسبقًا، و--lense (تهجئة guild-cli هي "lense")، و--verdict (ok / concern / reject). لا يحتوي على علم --area. لتسجيل نتيجة جديدة بدون كائن مراجعة سابق، استخدم gate fast-track كما في (a).

لماذا نقرن SCG مع Devil

يتشارك Devil's Advocate ("壊しにいく") وSCG في نفس النهج: افترض الأسوأ، افحص بشكل منهجي، ثم تقارب. يوفر SCG بُعد سلسلة التوريد لتمريرة Devil — ما قد تفعله تبعيات المشروع خلف ظهرك — إلى جانب عدسات أخرى (الأمان / الصحة / البنية المعمارية / المستخدم / العمليات).

قيود الاقتران مع Devil

  • يعمل SCG للقراءة فقط؛ عدسة Devil لن تطبّق الإصلاحات. استخدم respond.sh بشكل منفصل عند الحاجة إلى المعالجة (مع تأكيد صريح من المستخدم)
  • قد يتجاوز مخرَج SCG ميزانيات سياق Devil في المستودعات الكبيرة؛ مرّره عبر tail -50 إذا لزم الأمر
  • بالنسبة للمستودعات متعددة اللغات، شغّل كلاً من project-scan.sh وproject-scan-py.sh وادمج النتائج

إخلاء مسؤولية

SCG أداة كشف، وليست ضمانًا أمنيًا. إن الصراحة بشأن ما يمكنه وما لا يمكنه فعله جزء من التصميم.

يتم توفير هذا البرنامج "كما هو" دون أي ضمان من أي نوع. باستخدامك لـ Supply Chain Guard، فإنك تقر وتوافق على ما يلي:

  • ليس بديلاً عن الأمان الاحترافي. SCG أداة كشف تكميلية، وليس حلاً أمنيًا شاملاً. لا يحل محل الاستجابة للحوادث الاحترافية، أو برامج كشف والاستجابة للنقاط الطرفية (EDR)، أو عمليات تدقيق الأمان.
  • لا ضمان للكشف. تعني نتيجة CLEAR عدم العثور على أي تطابقات مع أنماط التهديدات المعروفة للأداة. وهذا لا يعني أن نظامك أو مشروعك خالٍ من الاختراق. قد لا يتم اكتشاف هجمات جديدة أو غير معروفة أو معدّلة.
  • لا ضمان للمعالجة. تعالج خطوات المعالجة المقدمة (respond.sh) المؤشرات المعروفة لتهديدات محددة. قد لا تزيل بشكل كامل جميع آثار اختراق متطور. إذا كنت تشتبه في اختراق نشط، فاستشر فريقًا محترفًا للاستجابة للحوادث.
  • استخدم على مسؤوليتك الخاصة. لا يتحمل المؤلفون أي مسؤولية عن أي أضرار أو فقدان بيانات أو حوادث أمنية ناتجة عن استخدام هذه الأداة أو عدم القدرة على استخدامها. يشمل ذلك على سبيل المثال لا الحصر: السلبيات الكاذبة (حالات كشف مفوّتة)، أو الإيجابيات الكاذبة (حالات كشف غير صحيحة)، أو العواقب غير المقصودة لتشغيل نصوص المعالجة.
  • ليست نصيحة قانونية أو متعلقة بالامتثال. لا تفي هذه الأداة بالمتطلبات التنظيمية أو المتعلقة بالامتثال أو القانونية لفحص الأمان. استشر المتخصصين المناسبين لاحتياجات الامتثال.

القيود

إن فهم ما لا يمكن لـ SCG فعله لا يقل أهمية عن معرفة ما يمكنه فعله.

حدود الكشف

حداثة قاعدة بيانات التهديدات

قاعدة بيانات التهديدات المعروفة (D.2 في SKILL.md) تُدار يدويًا. إنها غير متصلة بأي خلاصة تهديدات حية. هناك تأخير متأصل بين اكتشاف حادثة جديدة في سلسلة التوريد وتحديث هذه القاعدة.

  • آخر تحديث: 2026-05-27 (v4: دعم بايثون، إضافة BadHost CVE-2026-48710)
  • التغطية: 3 عائلات تهديدات npm (T001-T003) + 4 إدخالات لبايثون مختطفة/منتحلة الأسماء + إدخال واحد لإصدار بايثون مُعلّم بـ CVE (BadHost)
  • نطاق تغطية بايثون (v4): يعتمد بشكل أساسي على فحص ملفات القفل (uv.lock / poetry.lock / requirements.txt). طبقة إصدارات CVE المُعلّمة هي أفضل جهد — فهي تحدد فقط الحزم التي تطابق إدخالات _L3_CVE_LIST مع تقييم صارم لمواصفات semver، وتعتمد على تثبيت packaging لمطابقة الإصدارات بدقة

تحقق دائمًا بالتقاطع مع المصادر الحية مثل إشعارات npm وOSV.dev ومدونات الأمان الخاصة بالموردين المذكورة في قسم المراجع.

مخاطر النتائج الإيجابية الكاذبة

قد تتعارض مسارات IOC التالية، في حالات نادرة، مع البرامج الشرعية:

مسار IOCإيجابية كاذبة محتملة
/tmp/.npm-cache/تخزين npm مؤقت شرعي في تكوينات غير قياسية
/tmp/ld.pyنصوص Python غير ذات صلة بنفس اسم الملف
اسم العملية wt.exeWindows Terminal شرعي إذا كان موجودًا في ProgramData

تحقق دائمًا من نتائج IOC قبل تشغيل المعالجة. يبلّغ سكربت ioc-scan.sh عن النتائج للمراجعة البشرية — وهو لا يتخذ أي إجراء. يتطلب سكربت respond.sh تأكيدًا صريحًا لكل إجراء تدميري (الافتراضي: NO) تحديدًا بسبب هذا الخطر.

قيود فحص الشبكة

  • فحوصات الشبكة المعتمدة على lsof تكتشف فقط الاتصالات النشطة حاليًا. قد لا يكون بيكن C2 الذي يتصل بشكل متقطع نشطًا وقت الفحص.
  • فحوصات ذاكرة التخزين المؤقت لنظام أسماء النطاقات (DNS) هي أفضل جهد وتعتمد على نظام التشغيل. لن تُظهر ذاكرات التخزين المؤقت الممسوحة الاتصالات التاريخية.
  • لا يمكن اكتشاف حركة مرور C2 المشفرة أو الممررة عبر نفق من خلال مطابقة المنفذ/عنوان IP فقط.

النطاق

  • npm/yarn و Python (pip/poetry/uv). لا يغطي cargo أو وحدات go أو أنظمة حزم أخرى.
  • التهديدات المعروفة فقط. هذه أداة مطابقة أنماط، وليست محرك تحليل سلوكي.
  • فحص لحظي. تعكس النتائج الحالة في لحظة التنفيذ. تتطلب المراقبة المستمرة تنفيذًا متكررًا أو تكاملًا مع CI/CD.

التحقق من السلامة

تحقق من عدم العبث بنسختك من SCG. قارن هذه المجاميع الاختبارية SHA-256 مع ملفاتك المحلية:

```

67ac6216cbe18fdf7050fd267bce4157c016e5c60cd4f84f63b8cf71e80ae3b9 scripts/env-scan.sh da01f8362563b55b1553f923a748f07d24f24522366e0545e6ba0c09801f8e54 scripts/project-scan.sh 77e7ebba6d44ea020e511a49bc2cbc974d01495de40d35e8dfb7fcc93008954b scripts/project-scan-py.sh 82aaa4ed898ce354addc064ccf84cca9a498ef4e90fe58613e1110146577609f scripts/ioc-scan.sh 72ed333838b5584c3b1faf889edc81b0e3195c27396c3b36c62aaebf5f952117 scripts/ioc-scan.ps1 0e6b30e57c959180e22e0ba16f860e9fdc7304045947995084703fb14381d12e scripts/respond.sh a44be79d909058c9d216e7cbc5cca736cf8816a492c8d35a6b90c74c042abf5b SKILL.md

root@kitploit:~
<!-- CHECKSUMS-END -->

للتحقق:```bash
shasum -a 256 scripts/*.sh scripts/*.ps1 SKILL.md

ملاحظة: تتوافق هذه المجاميع الاختبارية (checksums) مع أحدث إصدار. إذا قمت بتعديل أي ملفات محليًا، فستختلف المجاميع الاختبارية. عند تحديث SCG، يتم تحديث هذا القسم جنبًا إلى جنب مع تغييرات الكود.


الترخيص

MIT


تم البناء بواسطة Eris — لأن اعتمادياتك (dependencies) لا ينبغي أن تكون سطح هجومٍ لشخصٍ آخر.

تنزيل الأداة
الأداةما تفعلهعلاقة SCG بها
npm auditيفحص السجل بحثًا عن الثغرات المعروفةيتضمن SCG npm audit كطبقة L1، ثم يضيف فحص IOC لنظام الملفات/الشبكة، وكشف الحزم الضارة، وسير عمل استجابة منظم فوق ذلك
osv-scannerيفحص ملفات القفل مقابل قاعدة بيانات OSV من Googleيتضمن SCG OSV كطبقة L2. osv-scanner لا يتحقق من آثار حصان طروادة على نظام الملفات أو اتصالات C2 النشطة
Snyk / Socket.devSaaS تجاري مع مراقبة لحظية، وفحوصات PR، وفحص تراخيصSCG مجاني، محلي أولاً، بدون حساب، ولا يرسل بيانات لأطراف ثالثة. مصمم للاستجابة الفورية للحوادث بدلاً من المراقبة المستمرة
الاستجابة اليدويةتحقيق مخصّص بالبرامج النصيةيوفر SCG إطارًا قابلًا للتكرار (8 بوابات تحقق، حلقة تقارب، مصفوفة خطورة) بدلاً من قوائم فحص لمرة واحدة تختلف لكل حادثة
Layernpm/yarn (project-scan.sh)Python (project-scan-py.sh)
L1npm auditpip-audit
L2osv-scanner / OSV.dev APIosv-scanner
L3قائمة ثابتة (خبيثة + انتحال إملائي)قائمة ثابتة (خبيثة / انتحال إملائي + إصدارات مُعلَّمة بـ CVE)
IOCآثار نظام الملفات + الشبكةآثار نظام الملفات + العمليات (مخصّصة لـ Python)
LFnpm ci --dry-run + عدد فحوصات التكاملتكامل ملف القفل (uv.lock / poetry.lock / requirements*.txt)
#البوابةالفئةالسؤال
G1الاعتماد المباشرتسميم التبعياتهل توجد أي تبعيات مباشرة بإصدار مخترق؟
G2الاعتماد غير المباشرتسميم التبعياتهل توجد أي تبعيات غير مباشرة مخترقة؟
G3آثار RATاختراق وقت التشغيلهل توجد آثار RAT على نظام الملفات؟
G4سكربتات ما بعد التثبيتاختراق وقت التشغيلهل توجد سكربتات postinstall مشبوهة؟
G5سلامة ملف القفلالسلامةهل تم العبث بملف القفل؟
G6المصدرالسلامةهل الحزمة من مصدر/مطوّر موثوق؟
G7الشبكةالبيئةهل توجد اتصالات صادرة مشبوهة؟
G8تحصين CI/CDالبيئةهل يتجاوز CI/CD خطوة postinstall / يفرض ملف قفل مجمّدًا؟
المنصةالمسارالنوع
macOS/Library/Caches/com.apple.act.mondملف RAT الثنائي
macOS~/Library/LaunchAgents/com.apple.act.mond.plistالاستمرارية
Windows%PROGRAMDATA%\wt.exeملف RAT الثنائي (متنكرًا في هيئة Windows Terminal)
Windows%TEMP%\6202033.vbsالحاقن
Windows%TEMP%\6202033.ps1الحاقن
Linux/tmp/ld.pyسكربت RAT
Linux/tmp/.npm-cache/دليل التجهيز
المنصة
الآلية
المعرف
macOSLaunchAgentcom.apple.act.mond
Windowsمهمة مجدولةWindowsTerminalUpdate
Linuxإدخال crontabيشير إلى ld.py أو .npm-cache
ما يفحصه SCGما لا يفحصه SCG
إصدارات الحزم المخترقة المعروفة (قاعدة بيانات ثابتة)هجمات سلسلة التوريد من نوع zero-day دون استشارة عامة
أسماء الحزم الخبيثة المعروفةانتحال الأسماء (typosquats) غير المدرج بعد في القائمة الثابتة
مسارات ملفات IOC محددة للتهديدات المعروفةبرمجيات خبيثة عشوائية تُسقَط في مسارات غير قياسية
عناوين IP ومجالات C2 محددةبنية C2 التحتية التي تم تدويرها أو تغييرها
نصوص postinstall في التبعيات المباشرةكود خبيث مبهم داخل نصوص تبدو شرعية