Socket - Cheatsheet اكتشاف سلسلة التوريد والحزم الخبيثة
Socket هي أداة أمان سلسلة التوريد البرمجية تركز على اكتشاف الحزم الخبيثة من الناحية السلوكية بدلاً من مطابقة CVE المعروفة فقط. تفتش ما تفعله الحزمة بالفعل — البرامج النصية المثبتة وإمكانية الوصول إلى الشبكة والنظام الملفات والقدرات الخطرة الأخرى — لالتقاط المحاكيات والإصدارات المخترقة التي قد تفوتها الماسحات الضوئية المستندة إلى التوقيعات. وهي تغطي الأنظمة الإيكولوجية بما في ذلك npm و PyPI و Go و Maven والأخرى، وتتكامل مع سير عمل المطور عبر CLI و GitHub app و CI.
التثبيت
| الطريقة | الأمر |
|---|
| npm (CLI) | npm install -g @socketsecurity/cli |
| npx (بدون تثبيت) | npx @socketsecurity/cli --help |
| Homebrew | brew install socket |
| pip (Python CLI) | pip install socketsecurity |
| GitHub App | ثبت تطبيق Socket من GitHub Marketplace |
| المصادقة | socket login (إعداد رمز API) |
أوامر CLI الأساسية
| الأمر | الوصف |
|---|
socket scan create . | إنشء فحص سلسلة توريد جديد للمشروع الحالي |
socket scan list | قائمة الفحوصات السابقة للمؤسسة |
socket scan view <ID> | عرض نتائج فحص معين |
socket package score npm react | احصل على درجة سلسلة التوريد للحزمة |
socket npm install <pkg> | غلاف حول npm يتحقق من الحزم قبل التثبيت |
socket npx <pkg> | npx آمن الذي يفحص الحزمة أولاً |
socket ci | تشغيل فحص معدل لـ CI (خروج غير صفري عند المشاكل) |
socket --help | مرجع أوامر كامل |
ما يشير إليه Socket
| القدرة/الإشارة | لماذا تنبه |
|---|
| البرامج النصية للتثبيت | postinstall hooks هو متجه برامج ضارة شائعة |
| إمكانية الوصول إلى الشبكة | الاتصالات الخارجة غير المتوقعة عند التثبيت/الوقت التشغيلي |
| إمكانية الوصول إلى نظام الملفات | قراءة المسارات الحساسة (مفاتيح SSH وملفات env) |
| تنفيذ Shell/process | توليد Shells أو العمليات الفرعية |
| الرمز المشفر | حمولات Minified/encoded الإخفاء السلوك |
| المحاكيات | الأسماء التي تحاكي الحزم الشهيرة |
| الاستطلاع/المصادرة | أنماط جمع البيانات والمصادرة |
درجات الحزم
# افحص تبعية واحدة قبل إضافتها
socket package score npm left-pad
socket package score pypi requests
# قارن المخاطر بين مرشح وبديل
socket package score npm chalk
تلخص الدرجات مخاطر سلسلة التوريد والجودة والصيانة وأبعاد الثغرة حتى تتمكن من الحكم على التبعية بسرعة.
تكامل CI / GitHub
| التكامل | السلوك |
|---|
| تطبيق GitHub | تعليقات على PRs التي تقدم تغييرات تبعية محفوفة بالمخاطر |
socket ci | فشل خط الأنابيب عند تجاوز الفحص للعتبات |
| ملف الإعداد | socket.yml يضبط نوع المشاكل التي تحظر مقابل تحذير |
| الدراية بالفرق | يركز على ما يضيفه PR لتقليل الضوضاء |
التكوين (socket.yml)
version: 2
issueRules:
installScripts: error
networkAccess: warn
telemetry: warn
obfuscatedCode: error
| الحقل | الغرض |
|---|
issueRules | اضبط كل قدرة/مشكلة على error أو warn أو ignore |
projectIgnorePaths | استبعد المسارات من الفحص |
سير العمل الشائع
# فحص التبعية قبل دخولها إلى package.json
socket npm install some-package
# بوابة طلب السحب في CI
socket ci
# تدقيق شجرة التبعية الكاملة للمستودع الموجود
socket scan create . && socket scan list
Socket مقابل SCA التقليدي
| الجانب | Socket | SCA التقليدي (مثل CVE matchers) |
|---|
| الإشارة الأساسية | السلوك/القدرات | مطابقات قاعدة البيانات CVE المعروفة |
| يلتقط برامج ضارة يوم صفر | نعم (سلوكي) | لا (يتطلب CVE معروفًا) |
| اكتشاف المحاكيات | نعم | محدود |
| الأفضل في الاقتران مع | Syft/Grype و Sigstore | Socket لتغطية البرامج الضارة |
الموارد