أمان التبعيات والحاويات

تحليل تكوين البرمجيات (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 17.x (الحالي: 19.x)متوسط
امتثال الرخصGPL-3.0 في مشروع تجاريقانوني
الحزم الخبيثةاختراق ua-parser-jsحرج
المشاريع المهجورةلا تحديثات لأكثر من سنتينمتوسط

كيف يعمل SCA

┌─────────────┐     ┌──────────────┐     ┌─────────────┐
│ البيان      │ ──▶ │ محرك SCA    │ ──▶ │   التقرير   │
│ package.json│     │              │     │             │
│ Pipfile     │     │ ┌──────────┐ │     │ CVE-2024-XX │
│ go.mod      │     │ │قاعدة     │ │     │ الرخصة: GPL│
│ Cargo.toml  │     │ │الثغرات   │ │     │ قديم: 5    │
└─────────────┘     └──────────────┘     └─────────────┘

أدوات SCA:

  1. تحلل ملفات بيان التبعيات الخاصة بك
  2. تحل شجرة التبعيات الكاملة (بما في ذلك المتعدية)
  3. تستعلم قواعد بيانات الثغرات (NVD، OSV، قواعد بيانات المورد)
  4. تقدم تقريراً بالنتائج مع نصائح المعالجة

قواعد بيانات الثغرات

قاعدة البياناتالتغطيةالوصول
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: أهداف مختلفة

الجانبSASTSCA
يفحصكودككود الطرف الثالث
يجدثغرات الكودCVEs المعروفة
المدخلاتملفات المصدرملفات البيان
الإيجابيات الخاطئةأعلىأقل (CVE هي CVE)
المعالجةإصلاح الكودتحديث التبعية

بعد ذلك، سنتعمق في Snyk—أداة SCA الأكثر شعبية لفحص التبعيات. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 3: أمان التبعيات والحاويات

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.