أمان التبعيات والحاويات
تحليل تكوين البرمجيات (SCA)
3 دقيقة للقراءة
التطبيقات الحديثة مبنية على جبال من التبعيات مفتوحة المصدر. مشروع Node.js نموذجي لديه 500+ تبعية متعدية. كل واحدة هي ثغرة محتملة.
مخاطر سلسلة التوريد
تطبيقك (100% كودك)
└── express (حزمة NPM)
└── body-parser
└── raw-body
└── iconv-lite
└── safer-buffer ← ثغرة هنا تؤثر على تطبيقك
إحصائيات رئيسية:
- 96% من قواعد الكود تحتوي على مكونات مفتوحة المصدر
- 84% من قواعد الكود لديها ثغرة واحدة على الأقل
- المشروع المتوسط لديه 500+ تبعية (مباشرة + متعدية)
- Log4Shell (CVE-2021-44228) أثر على 35,000+ حزمة
ما يفعله SCA
تحليل تكوين البرمجيات يفحص تبعياتك للعثور على:
| نوع النتيجة | مثال | المخاطر |
|---|---|---|
| الثغرات المعروفة (CVEs) | تنفيذ كود عن بعد Log4j | حرج |
| التبعيات القديمة | React 16.x (الحالي: 18.x) | متوسط |
| امتثال الرخص | GPL-3.0 في مشروع تجاري | قانوني |
| الحزم الخبيثة | اختراق ua-parser-js | حرج |
| المشاريع المهجورة | لا تحديثات لأكثر من سنتين | متوسط |
كيف يعمل SCA
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ البيان │ ──▶ │ محرك SCA │ ──▶ │ التقرير │
│ package.json│ │ │ │ │
│ Pipfile │ │ ┌──────────┐ │ │ CVE-2024-XX │
│ go.mod │ │ │قاعدة │ │ │ الرخصة: GPL│
│ Cargo.toml │ │ │الثغرات │ │ │ قديم: 5 │
└─────────────┘ └──────────────┘ └─────────────┘
أدوات SCA:
- تحلل ملفات بيان التبعيات الخاصة بك
- تحل شجرة التبعيات الكاملة (بما في ذلك المتعدية)
- تستعلم قواعد بيانات الثغرات (NVD، OSV، قواعد بيانات المورد)
- تقدم تقريراً بالنتائج مع نصائح المعالجة
قواعد بيانات الثغرات
| قاعدة البيانات | التغطية | الوصول |
|---|---|---|
| NVD (NIST) | CVEs شاملة | عام |
| OSV (Google) | تركيز على المصدر المفتوح | عام |
| GitHub Advisory | نظام GitHub البيئي | عام |
| Snyk DB | منسقة + خاصة | مستخدمو Snyk |
| VulnDB | استخبارات تجارية | مدفوع |
SBOM: قائمة مواد البرمجيات
SBOM يسرد كل مكون في برمجياتك:
{
"bomFormat": "CycloneDX",
"specVersion": "1.5",
"components": [
{
"type": "library",
"name": "express",
"version": "4.18.2",
"purl": "pkg:npm/express@4.18.2",
"licenses": [{ "license": { "id": "MIT" }}]
}
]
}
لماذا SBOMs مهم:
- الاستجابة للحوادث: تحقق بسرعة إذا كنت متأثراً بـ CVEs جديدة
- الامتثال: مطلوب بموجب الأمر التنفيذي الأمريكي 14028 لبرمجيات الحكومة
- شفافية سلسلة التوريد: اعرف ما في برمجياتك
توليد SBOMs مع:
# باستخدام Syft
syft packages . -o cyclonedx-json > sbom.json
# باستخدام Trivy
trivy fs --format cyclonedx . > sbom.json
SCA مقابل SAST: أهداف مختلفة
| الجانب | SAST | SCA |
|---|---|---|
| يفحص | كودك | كود الطرف الثالث |
| يجد | ثغرات الكود | CVEs المعروفة |
| المدخلات | ملفات المصدر | ملفات البيان |
| الإيجابيات الخاطئة | أعلى | أقل (CVE هي CVE) |
| المعالجة | إصلاح الكود | تحديث التبعية |
بعد ذلك، سنتعمق في Snyk—أداة SCA الأكثر شعبية لفحص التبعيات. :::