تطوير الويب

Pipeline SAST DAST SCA في 2026: معمارية، أدوات، وتكامل CI/CD

3 min de lecture

لماذا pipeline SAST + DAST + SCA في 2026

أمن التطبيقات في 2026 لم يعد يختزل في تدقيق سنوي يقوده مكتب خارجي. ثلاث قوى تتقارب تجعل التفتيش المستمرّ ضروريًّا. أوّلًا، الضغط التنظيمي: Cyber Resilience Act الأوروبي (دخول حيّز التنفيذ تدريجيًّا حتى ديسمبر 2027)، التوجيه NIS2، وExecutive Order 14028 الأمريكي يفرضون الآن جردًا برمجيًّا محدَّثًا وتتبّعًا للمكوّنات الثالثة. ثانيًا، سرعة الإصدار: مستودع نشط متوسّط يستقبل عدّة commits في الساعة، كلّ merge يُدخل احتمالًا تراجعًا أمنيًّا. ثالثًا، تطوّر هجمات سلسلة التوريد — حادث SolarWinds يبقى المرجع، لكن 2026 عرفت سلفًا اختراقَين لـ Trivy نفسها (نسخ v0.69.4 وtags aquasecurity/trivy-action اخترقت في مارس 2026، مُصَحَّحة في v0.70.0).

الثلاثي SAST، DAST، SCA يُقابل الزوايا الثلاث المُتَكامِلَة التي يستغلّها مهاجم: الكود المكتوب داخليًّا، سلوك التطبيق في التشغيل، والمكتبات الثالثة المُضَمَّنة. لا واحدة من هذه الطبقات تُغَطّي الأخريَين. pipeline صناعي يجمعها، يُؤَتمت تنفيذها على كلّ pull request، يُجَمِّع findings في dashboard وحيد، ويحجب merge فور ظهور ثغرة حرجة جديدة.

فهم العائلات الثلاث: SAST، DAST، SCA

SAST (Static Application Security Testing) يُحَلِّل الكود المصدري أو bytecode دون تنفيذه. يجوب شجرة syntactique للبرنامج، يتبع تدفّق البيانات بين مصادر غير موثوقة (دخل HTTP، قراءة ملفّ) ومصبّات حسّاسة (استعلام SQL، تنفيذ shell)، ويرفع تنبيهًا حين تمرّ بيانات دون تطهير. الأدوات الحديثة — SonarQube Community Build 26.4.0، Semgrep 1.161.0، CodeQL 2.25.2 — تتجاوز البحث البسيط عن أنماط وتُفَكِّر على graph التحكّم. قوّتها: كشف الثغرات أبكر، في IDE أو على pull request. ضعفها: لا ترى تكوين runtime، لا تفهم التوثيق المُنَفَّذ في middleware، وتُنتج حجمًا كبيرًا من إيجابيات كاذبة على الكود الموروث.

DAST (Dynamic Application Security Testing) يُهاجم التطبيق المنشور. proxy يعترض الطلبات المُرسَلة خلال مسار اختبار، يُعَدِّل المعاملات منهجيًّا لاختبار حقن SQL، XSS، اجتياز المجلّدات، التوثيق المكسور. OWASP ZAP 2.17.0 المرجع مفتوح المصدر، يُكَمَّل لدى ناشري التجارة بـ Burp Suite Enterprise وInvicti. DAST يكشف مشاكل يُغفلها SAST هيكليًّا: header أمن غائب، redirection مفتوحة، تسريب معلومات في رسائل أخطاء، تهيئة TLS ضعيفة. قيده الرئيسي: يلزم بيئة تطبيقية وظيفية، مأهولة ببيانات تمثيلية، مع حسابات اختبار لبلوغ الأسطح المُوَثَّقة.

SCA (Software Composition Analysis) يستهدف التبعيّات. من package-lock.json، go.sum، Cargo.lock، requirements.txt، يُقاطع كلّ مكوّن مع قاعدة NVD، advisories GitHub، OSV.dev، وتغذية الناشر. Trivy، Grype، Snyk Open Source، Dependabot يُغَطّون هذا المحيط. في 2026، SCA يمتدّ إلى توليد SBOM (Software Bill of Materials) بتنسيق CycloneDX 1.7 أو SPDX 2.3، مطلوب من Cyber Resilience Act لأيّ منتج برمجي يُسَوَّق في أوروبا.

مكان runtime وIAST

عائلتان تُكَمِّلان الثلاثي. IAST (Interactive Application Security Testing) يُسَلِّح التطبيق بـ agent يلاحظ تدفّق البيانات أثناء الاختبارات الوظيفية. agent يربط الكود المصدري، طلب HTTP، والمسار المُعتَمَد، ممّا يُخَفِّض إيجابيات كاذبة جذريًّا. Contrast Assess وSeeker ممثّلون تجاريّان.

أمن runtime، يُجَسِّده Falco 0.43.0 (مُتَخَرِّج CNCF منذ فبراير 2024)، Tetragon، Sysdig Secure، لا يحلّ محلّ ثلاثي SAST/DAST/SCA لكنّه يُمَدِّده في الإنتاج. Falco يقرأ syscalls عبر eBPF ويُشَغِّل تنبيهًا على سلوكيات شاذّة: فتح shell في container، قراءة /etc/shadow، اتّصال خارج نحو domain غير مُدرَج. runtime يخدم شبكة أمان لما لم تره سلسلة CI/CD — نمطيًّا zero-days مكشوفة بعد النشر.

خريطة الأدوات 2026: قوى، حدود، تكاليف

الأداة العائلة النموذج القوّة الحدّ
SonarQube Community Build 26.4.0 SAST + جودة open source self-host UI ناضج، dashboards تاريخية، دعم 30+ لغة لا scan فرع في Community، قواعد taint analysis محدودة دون النسخة المدفوعة
Semgrep CE 1.161.0 SAST open source + cloud freemium 2,800+ قاعدة community، syntax قابلة للقراءة، scan في ثوانٍ تحليل intra-procédurale افتراضيًّا؛ cross-file يتطلّب النسخة المدفوعة
CodeQL 2.25.2 SAST مجّاني للمستودعات العامّة وGitHub Advanced Security نموذج استعلامات شديد التعبير، قاعدة قابلة للاستجواب كـ BDD فهرسة بطيئة على monorepo ضخم، منحنى تعلّم QL حقيقي
Trivy 0.70.0 SCA + IaC + secrets Apache 2.0 scan سريع لصور container، IaC Terraform/Kubernetes، توليد SBOM CycloneDX لا إدارة مركزية للـ findings؛ ادمج مع DefectDojo أو Faraday
OWASP ZAP 2.17.0 DAST Apache 2.0 proxy اعتراض، scan نشط، أتمتة بسكريبتات ZAP API وMCP server crawl SPA محدود؛ يلزم سكريبتات توثيق للتطبيقات React/Vue
Snyk Open Source SCA Free للعامّة، 25$/dev/شهر قاعدة ثغرات مُغناة، اقتراحات fix تلقائية، تكامل IDE نموذج credit-based منذ 1 يناير 2026، حصص شهرية بكلّ منتج في المجّاني (400 OS، 100 Code، 300 IaC، 100 Container)
Falco 0.43.0 Runtime Apache 2.0 (CNCF) كشف eBPF، قواعد YAML، خرج Slack/PagerDuty/SIEM يتطلّب tuning لتخفيف الضوضاء في الإنتاج، لا يحلّ محلّ EDR
DefectDojo OSS تجميع open source استيعاب أصلي لـ 160+ تنسيق سكنر، deduplication ذكي، push Jira/GitHub UI كثيف، منحنى تعلّم أوّلي، نسخة Pro للتقارير التنفيذية

معمارية مرجعية لـ pipeline DevSecOps

معمارية صناعية ناضجة تتمحور حول أربع مراحل.

المرحلة الأولى — IDE. أقرب للمطوّر، يستضيف IDE pre-commit hook خفيف يستدعي Semgrep بـ --config auto وlinter أسرار مثل gitleaks protect --staged. المطوّر يستقبل تغذية راجعة في أقلّ من ثانيتَين؛ لا commit يُحجَب لعدم كسر التدفّق.

المرحلة الثانية — pull request. عند كلّ فتح أو push، pipeline CI يُشَغِّل 4 jobs بالتوازي: SAST تفاضلي (Semgrep أو Sonar على diff فقط، لـ < 5 دقائق)، SCA (trivy fs --scanners vuln,secret,license)، build صورة Docker مَفحوصة بـ trivy image، وjob DAST خفيف على بيئة preview المنشورة تلقائيًّا. findings تُدفَع إلى DefectDojo عبر API بمعرّف pull request كـ tag.

المرحلة الثالثة — فرع رئيسي بعد merge. SAST يدور في وضع كامل — بما فيه قواعد cross-file والتحليلات الطويلة — والنتيجة تُغَذِّي حائط SonarQube الذي يُؤَرِّخ الدَّيْن التقني الأمني. DAST يمرّ إلى full crawl، يجوب التطبيق المُوَثَّق لـ 30-60 دقيقة ليلًا. SCA يُنتج SBOM CycloneDX 1.7 المنشور كـ artefact بجانب صورة Docker الموقَّعة بـ cosign.

المرحلة الرابعة — الإنتاج. Falco يدور كـ DaemonSet على كلّ عقدة Kubernetes، تنبيهاته تتوجّه إلى SIEM (Wazuh، Loki، أو خدمة مُدارة). إعادة scan دورية للصور قيد التشغيل بـ trivy image تكشف CVEs المُكتَشَفَة بعد النشر.

metrics DevSecOps لتسليحها منذ البداية

دون قياس، برنامج أمن ينحرف بسرعة نحو الامتثال السطحي. أربعة مؤشّرات تُهَيكِل النقاش.

MTTR أمن (Mean Time To Remediate) يقيس median بين كشف ثغرة حرجة وتصحيحها في الإنتاج؛ هدف فريق ناضج في 2026 تحت 7 أيّام لـ CVSS ≥ 9، تحت 30 يومًا لـ CVSS ≥ 7.

نسبة التغطية تنسب المستودعات المُفحوصة فعلًا إلى مجموع الحافظة — رقم غالبًا مُبالَغ فيه حتى يُقاطَع جرد المستودعات الفعلي بـ CMDB.

نسبة الإيجابيات الكاذبة تُعَبِّر عن نسبة التنبيهات المُؤَهَّلة non-issue من المطوّرين. فوق 30%، الفريق يفقد الثقة في الأداة. تحت 10%، tuning القواعد ناضج.

build status أمن يَعُدّ نسبة merges المحجوبة آخر 30 يومًا بسبب finding جديد؛ مؤشّر الاحتكاك الأكثر تعبيرًا.

تبنّي pipeline تدريجيًّا على 90 يومًا

إطلاق الأدوات الثماني معًا أسوأ طريقة لإشباع الفريق وإثارة الرفض. ثلاث sprints تكفي.

Sprint 1 (1-30) — رؤية. فعِّل Semgrep في وضع إعلامي على كلّ المستودعات، دون حجب PR. شَغِّل Trivy لإنتاج SBOM وإدراج CVEs القائمة. خَزِّن التاريخ في DefectDojo. الهدف ليس التصحيح بعد، بل خريطة الدَّيْن.

Sprint 2 (31-60) — حوكمة. عَرِّف عتبة تعاقدية مع engineering: « أيّ CVE حرجة جديدة تُدخلها PR تحجبها ». فَعِّل وضع fail-on-new-issue على SAST التفاضلي. ضع triage أسبوعي DefectDojo مع security champion لكلّ squad. وَثِّق الاستثناءات عبر nosemgrep: أو // trivy:ignore، مع تاريخ انتهاء إلزامي.

Sprint 3 (61-90) — تشديد. انشر ZAP في scan ليلي على pre-prod مُوَثَّق. ضع Falco في الإنتاج في وضع alert-only لـ tuning القواعد قبل التبديل إلى وضع حاجب. أَرسِ إيقاع مراجعة شهرية للمؤشّرات (MTTR، تغطية، إيجابيات كاذبة) مع RSSI.

Shift-left، shift-right: إيجاد التوازن

حركة shift-left هيمنت على خطاب DevSecOps منذ 2019: جلب الأمن في وقت مبكر، مثاليًّا في IDE. الرهان عادل لكن ناقص. finding مكشوف في IDE يكلّف 50 إلى 100 مرّة أقلّ من تصحيحه في الإنتاج، لكن جزء غير قابل للاختزال من المشاكل لا يَكشِف نفسه إلّا في التشغيل: تكوين runtime، تفاعل بين microservices، أسرار مُحقَنة من orchestrateur. shift-right يقبل هذه الحقيقة ويستثمر بشكل متماثل في observability أمن الإنتاج: Falco لـ syscall، traces OpenTelemetry، eBPF لخريطة تدفّقات الشبكة.

فريق ناضج في 2026 لا يختار بين الاثنين بل يُوَزِّع ميزانية أمن التطبيق نحو 60% على pre-production و40% على runtime. هذا التوزيع يَعنى أكثر من الاختيار الدقيق للأدوات.

وراء الأدوات: ممارسة security champion

لا pipeline يُعفي الفريق من مسؤولية بشرية. المنظّمات التي تنجح برنامجها DevSecOps في 2026 تُعَيِّن في كلّ squad security champion، مطوّر senior جزء من وقته (نمطيًّا 10-20%) مُخَصَّص صراحة لأمن التطبيقات: triage findings الأسبوع، نشر الممارسات الجيّدة، نقطة اتّصال مع فريق الأمن المركزي. هذا الدور يتفادى النمط السامّ حيث ينشر فريق الأمن قواعد يَعتَبرها المطوّرون قيدًا خارجيًّا.

الـ champion يحتاج أدوات تربوية لا قمعية فقط. Semgrep وSonarQube يعرضان شرحًا inline لكلّ قاعدة مُشَغَّلة. جلسات capture the flag الداخلية، المُنَظَّمة ربع سنويًّا على HackTheBox أو Root-Me، تبقى استثمار التدريب بأفضل نسبة كلفة/فائدة.

أخطاء شائعة لتفاديها

الخطأ السبب النمطي الردّ الموصى به
تفعيل 8 سكنرات في وضع حاجب في اليوم 1 إرادة سياسية لإظهار الامتثال ابدأ في وضع إعلامي شهرًا، ثم احجب فقط على findings الجديدة
تخزين findings في ملفّات JSON بمشروع لا منصّة تجميع مختارة مَركِز عبر DefectDojo أو Faraday من sprint 1
scan الصور في latest دون pin digest ثقة عمياء في الناشر ثَبِّت على digest sha256، تحقّق من توقيع cosign قبل pull
تجاهل CVEs مَوسومة not exploitable دون VEX فرز يدوي غير مُتَتَبَّع وَثِّق القرار عبر VEX مرفق بـ SBOM
ترك SAST يدور على كلّ الكود في كلّ push pipeline غير تفاضلي افحص فقط diff على PR، احفظ scan كامل لـ main ليلًا
خلط Falco وEDR سوء فهم محيط runtime Falco يُغَطّي syscall layer؛ للكشف السلوكي الشبكي، أضف Wazuh أو EDR

الدلائل خطوة بخطوة المُرافِقة

هذه الصفحة المرجعية تضع المفاهيم. الدلائل التالية تَحفِر كلّ لبنة بأوامر مُختبَرة وتكوينات YAML.

FAQ

هل SAST، DAST، SCA تكفي للامتثال لـ Cyber Resilience Act؟ لا. CRA يتطلّب أيضًا عملية موثَّقة لإدارة الثغرات طوال دورة حياة المنتج، قناة كشف منسَّق (security.txt، اتّصال مخصَّص)، SBOM محدَّث، وإشعار حوادث استغلال الثغرات لـ CSIRT الوطني.

SonarQube أم Semgrep لمشروع جديد؟ الاثنان لا يستبدلان بعضهما. Sonar ممتاز للمتابعة التاريخية للديون وقياس الجودة الشاملة. Semgrep أكفأ لقواعد محدَّدة وshift-left عدواني. فريق ناضج يستعمل الاثنين.

هل CodeQL مجّاني حقًّا للمشاريع المُغلَقة؟ لا. CLI قابلة للتنزيل مجّانًا، لكنّ scan آلي على المستودعات الخاصّة عبر GitHub Actions مُضَمَّن فقط في GitHub Advanced Security، انقسم منذ 1 أبريل 2025 إلى GitHub Code Security (30 USD/شهر/committer) وGitHub Secret Protection (19 USD/شهر/committer). للمستودعات العامّة، الـ scan مجّاني.

كيف ندير اختراق Trivy الثاني من مارس 2026؟ تحقّق أنّ النسخة المثبَّتة v0.70.0 أو لاحقة وأنّ صور aquasec/trivy المُستعمَلة في pipeline تُشير إلى digest sha256 بعد الحادث. دَقِّق تنفيذات Trivy في النافذة المعنية لكشف أيّ تسريبات tokens CI.

هل runtime Falco يحلّ محلّ WAF؟ لا. Falco يلاحظ السلوك داخل containers والمضيفين؛ WAF يفحص ترافيك HTTP في المحيط. الاثنان يعملان على طبقات مختلفة ويتكاملان.

أيّ منصّة تجميع نختار؟ DefectDojo OSS الأكثر نضوجًا لفريق من 5 إلى 50 مطوّرًا: 160+ تنسيق، deduplication، push Jira/GitHub. Faraday يستهدف فِرَق pentest. SecObserve مهمّ لـ UI أحدث ومحيط محدود بـ SAST/SCA.

مصادر ومراجع

  • ملاحظات إصدار SonarQube Community Build
  • Release notes Semgrep
  • توثيق CodeQL
  • Trivy على GitHub
  • Releases ZAP
  • توثيق Falco
  • مواصفة CycloneDX 1.7 (فبراير 2026)
  • OWASP DefectDojo
  • NIST SSDF — SP 800-218
  • Cyber Resilience Act — ENISA

مقالات ذات صلة

Sponsoriser ce contenu

Cet emplacement est à vous

Position premium en fin d'article — c'est l'instant où les lecteurs sont le plus engagés. Réservez cet espace pour votre marque, votre formation ou votre offre.

Recevoir nos tarifs
Publicité