
استخبارات الحزم الضارة وسلسلة التوريد
الميزات • التثبيت • الاستخدام • تشغيل depx • JSON • انضم إلى Discord
depx هي أداة واجهة أوامر سريعة وسلبية لاستخبارات سلسلة التوريد. تخبرك ما إذا كانت الحزمة معروفة بالخطر (إصدارات مختطفة، سارقي بيانات الاعتماد، أبواب خلفية في سكريبت التثبيت) من خلال المطابقة مع بيانات OpenSSF Malicious Packages (MAL-*، تنسيق OSV) وخلاصة استخبارات حية منسقة من X (Grok API)، يتم تحديثها كل ساعة.
تجيب على أربعة أسئلة في ثوانٍ:
depx feed (أو --list لسطر واحد لكل نتيجة).--require-clean، تصدير SARIF، ومغلف JSON بإصدار.ecosystem:name، أو اسم مجرد، أو قائمة أنابيب.--exclude-pkg لقمع الحزم المعروفة بالسلامة من نتائج التدقيق.curl -sfL https://raw.githubusercontent.com/projectdiscovery/depx/main/scripts/install.sh | sh
يقوم بتحميل أحدث إصدار لنظام التشغيل/الهندسة المعمارية الخاص بك (أو البناء باستخدام go install كبديل). يتحقق السكريبت من الملف الثنائي ويقوم بتحديث PATH في شاشتك عند الحاجة.
من المصدر (يتطلب Go 1.25+):
git clone https://github.com/projectdiscovery/depx.git
cd depx
make build
./bin/depx --help
أو التثبيت مباشرة باستخدام Go:
go install github.com/projectdiscovery/depx/cmd/depx@latest
الملفات الثنائية المجمعة مسبقًا متاحة أيضًا على صفحة الإصدارات على GitHub.
depx --help
الأوامر الأساسية والعلامات:
Usage:
depx [علامات]
depx [أمر]
Available Commands:
feed عرض الحزم الضارة المكتشفة حديثًا (بطاقات)
audit تدقيق التبعيات بحثًا عن الحزم الضارة (الافتراضي: $HOME)
github تدقيق مستودعات GitHub عبر dependency-graph SBOM
search البحث عن الحزم الضارة المعروفة بالاسم (فهرس محلي)
id البحث عن إعلان advisory بواسطة المعرف
version عرض الإصدار والتحقق من التحديثات
update تحديث depx إلى أحدث إصدار
العلامات العامة:
-j, --json إخراج JSON قابل للقراءة آليًا
-V, --version عرض الإصدار والخروج
-e, --ecosystem string تقييد البحث بنظام بيئي واحد (npm، PyPI، Go، ...)
-v, --verbose تفاصيل إضافية للتدقيق/github
--silent إخفاء الشعار ومعلومات الإصدار
--no-color تعطيل ألوان ANSI
--config string مسار ملف الإعدادات
--update تحديث depx إلى أحدث إصدار
--disable-update-check تعطيل فحص التحديث
الأمر الافتراضي (لوحة معلومات الاستخبارات):
--since string نافذة زمنية للخلاصة (الافتراضي "3d")
-n, --limit int الحد الأقصى لعدد الإدخالات في لوحة المعلومات/الخلاصة عند الأمر الافتراضي
depx feed:
--since string نافذة زمنية للخلاصة (الافتراضي "3d")
-n, --limit int حد النتائج
--list سطر عنوان واحد لكل نتيجة
depx search:
-n, --limit int أقصى عدد للنتائج المعروضة (الافتراضي 25)
--list سطر عنوان واحد لكل نتيجة
depx audit / depx github:
--require-clean الخروج بالرمز 1 إذا تم العثور على أي حزمة ضارة
--exclude-pkg string ملف يحتوي على سطور ecosystem:package لاستبعادها من النتائج
-o, --output string كتابة ملف/ملفات التصدير إلى هذا المسار أو اسم الأساس
--output-format string تنسيقات التصدير المفصولة بفواصل: json، csv، txt (الافتراضي: json)
--sarif-export string كتابة تقرير SARIF 2.1.0 إلى هذا المسار
--sbom-export string كتابة SBOM للتبعيات المدققة (audit فقط)
--sbom-format string تنسيق SBOM: cyclonedx (الافتراضي) أو spdx
depx github:
-n, --limit int أقصى عدد للمستودعات لأهداف المؤسسة/المستخدم (الافتراضي 100 مع توكن، 10 بدونه)
depx id:
--raw سجل OSV خام فقط
depx # لوحة لآخر 3 أيام
depx --since 7d # توسيع النافذة الزمنية
depx -e npm # لوحة خاصة بـ npm فقط
depx feed # خلاصة بطاقات (بدون لوحة)
depx feed --list # سطر واحد لكل إعلان advisory
depx -j # JSON للوحات/خطوط الأنابيب
يقوم بمسح ملفات lockfiles و SBOMs مقابل فهرس الحزم الضارة المحلي، فوري بعد التشغيل الأول. بدون مسار، يقوم depx بمسح $HOME بحثًا عن المشاريع والتثبيتات العامة.
depx audit # مسح $HOME للمشاريع + التثبيتات العامة
depx audit ./my-app # شجرة مشروع واحد
depx audit ./bom.cdx.json # ملف CycloneDX / SPDX
يدعم ملفات lockfiles لـ npm، PyPI، Go، Cargo، RubyGems، Maven/Gradle بالإضافة إلى ملفات SBOM من نوع CycloneDX / SPDX.
قمع الإيجابيات الكاذبة. عندما يتم وضع علامة على حزمة قمت بالتحقق من أنها آمنة، قم بتمرير --exclude-pkg (في audit أو github) ملفًا يحتوي على إدخالات ecosystem:package مفصولة بسطر جديد لإسقاطها من النتائج:
depx audit ./my-app --exclude-pkg .depxignore
depx github google --exclude-pkg .depxignore
# .depxignore: الحزم المستثناة من النتائج
npm:internal-tool
PyPI:requests
*:shared-lib # '*' يطابق أي نظام بيئي
يستخدم تصديرات SBOM من dependency-graph في GitHub. قم بتعيين GITHUB_TOKEN للمستودعات الخاصة واكتشاف المنظمة.
depx github projectdiscovery/depx
depx github google
depx github
الوصول غير المصادق إلى GitHub محدود بحوالي 60 طلب/ساعة، لذا بدون توكن يكون فحص المنظمة/المستخدم افتراضيًا لـ 10 مستودعات (مقابل 100 مع توكن). قم بتعيين GITHUB_TOKEN أو GH_TOKEN أو DEPX_GITHUB_TOKEN (أو رفعه صراحةً باستخدام -n) لفحص المزيد.
depx npm:lodash
depx id MAL-2026-4343
depx search redhat
--require-clean يخرج برمز غير صفري بمجرد العثور على حزمة ضارة.
depx audit . --require-clean # فشل البناء إذا كان هناك أي شيء ضار
depx github google --require-clean -j
| كود الخروج | المعنى |
|---|---|
0 | نظيف / نجاح |
1 | وتم العثور على حزم ضارة |
كل استجابة -j تستخدم مغلفًا ثابتًا ومُرقمًا ليكون آمنًا للبناء عليه.
{
"schema_version": "1",
"command": "check",
"depx_version": "v0.1.0",
"data": {
"total": 1,
"results": [
{
"ref": "npm:evil-pkg",
"purl": "pkg:npm/evil-pkg",
"verdict": "malicious",
"confidence": "high",
"ids": ["MAL-2026-4343"],
"package_ecosystem": "npm",
"package_name": "evil-pkg",
"registry_url": "https://www.npmjs.com/package/evil-pkg",
"advisories": [
{
"id": "MAL-2026-4343",
"url": "https://github.com/ossf/malicious-packages/blob/main/osv/npm/MAL-2026-4343.json",
"summary": "Malicious code in evil-pkg (npm)",
"modified_at": "2026-06-01T12:00:00Z",
"published_at": "2026-06-01T10:00:00Z"
}
]
}
]
}
}
تعيد الحزمة النظيفة "verdict": "clean". قد تتضمن فحوصات الاسم المجرد checked_ecosystems و matched_ecosystems و found_ecosystems عند البحث في جميع النظم البيئية.
المخططات موجودة في schema/v1/.
depx موزعة بموجب رخصة MIT.
انضم إلى Discord الخاص بنا • بنيت بحب ❤️ بواسطة فريق ProjectDiscovery
--require-clean2 | خطأ في الاستخدام |
3 | المصدر العلوي غير متاح |