ترسانة DevSecOps: من مبتدئ إلى محترف
لنكن واقعيين: تشغيل trivy image ليس DevSecOps. إنه مجرد توليد ضوضاء.
الهندسة الأمنية الحقيقية تتعلق بنسبة الإشارة إلى الضوضاء. إنها تتعلق ببناء خط أنابيب يحترمه المطورون، وليس واحدًا يتجاوزونه. يوفر هذا الدليل التكوينات “المستوى الإنتاجي” لـ 17 أداة قياسية في الصناعة لإيقاف الثغرات دون إيقاف العمل.
المرحلة 1: قبل الالتزام والمحلي (تحرك لليسار أو اذهب إلى المنزل)
التقاط المشاكل في CI متأخر بالفعل. لقد أهدرت للتو أرصدة الحوسبة ووقت تبديل السياق للمطور. التقطها على جهاز الكمبيوتر المحمول الخاص بهم.
1. Gitleaks (حارس الأسرار)
لا تكن الشركة التي تسرب مفاتيح AWS على GitHub.
معظم الناس يشغلون Gitleaks بشكل أعمى. المحترفون يستخدمون الأسس.
--baseline-path: التذكرة الذهبية. قم بتشغيل فحص جديد، احفظ المخرجات. الآن Gitleaks ينبه فقط على الأسرار الجديدة.--redact: إخفاء الأسرار المكتشفة في سجلات المخرجات (النسبة 0-100). لا تسرب مرتين.--enable-rule: ركز على أنواع معينة من الأسرار (مثل مفاتيح AWS فقط) بواسطة المعرف.--follow-symlinks: لا تدع الأسرار تختبئ خلف الروابط الرمزية.--ignore-gitleaks-allow: منع استخدام تعليقات “التخطي” المضمنة. فرض القواعد.--max-target-megabytes: تجنب فحص الكتل الثنائية الضخمة.
2. Trufflehog (المحقق)
العثور على سلسلة تبدو كمفتاح شيء واحد. التحقق مما إذا كانت تعمل شيء آخر.
Trufflehog يتميز بقدرته على التحقق من بيانات الاعتماد مع المزود.
--no-verification: وضع أسرع. يتخطى “التحقق المباشر” إذا كنت تريد فقط التحليل الثابت.--results: تصفية المخرجات حسبverified(الخطر الحقيقي) أوunknown.--filter-entropy: العثور على سلاسل ذات عشوائية عالية (من المحتمل أن تكون كلمات مرور) حتى بدون تطابق مع تعبير عادي. ابدأ بـ 3.0.--detector-timeout: تحديد وقت التنفيذ لكل كاشف لمنع تعليق CI.--archive-max-depth: عدم التعثر في القنابل المضغوطة المتداخلة.
3. Opengrep (تحليل ثابت سريع)
Grep مات. عاش البحث الهيكلي.
محرك متوافق مع Semgrep للعثور على الأخطاء باستخدام أنماط الكود، وليس فقط السلاسل.
--baseline-commit: مهم. قم بمسح الكود الذي تم تغييره فقط منذ التزام محدد (المسح الدلتا).--config: تحميل قواعد مخصصة من حدود YAML أو السجل.--dataflow-traces: إظهار المسار الكامل لكيفية انتقال البيانات من المصدر إلى المصب.--exclude-minified-files: تخطي.min.jsوالملفات الأخرى الكثيفة وغير القابلة للقراءة البشرية.--strict: فشل البناء إذا كان التكوين غير صالح أو حدثت أخطاء بمستوى WARN.
4. Bandit (أمان بايثون)
المعيار لتحليل AST بايثون.
-t/--tests: تشغيل معرفات الاختبار المحددة فقط (قائمة السماح).-s/--skips: تخطي معرفات الاختبار المحددة (قائمة الحظر).--severity-level: إظهار النتائج فقط >=منخفض،متوسط، أومرتفع.--confidence-level: تصفية “التخمينات”—إظهار النتائج ذات الثقة العالية فقط.--ignore-nosec: رؤية ما يحاول المطورون تجاوزه باستخدام# nosec.
5. Dustilock (Dependency Confusion)
منع المهاجم من حقن حزمة خاصة ضارة.
-a: التدقيق فقط. تحقق مما إذا كنت عرضة لاختطاف أسماء الحزم دون إيقاف خط الأنابيب.
6. Hadolint (Docker Intelligence)
ملف Docker الخاص بك سيء. Hadolint يعرف السبب.
--trusted-registry: أمان سلسلة التوريد. السماح فقط بالصور منinternal.ecr.aws.--strict-labels: فرض معايير البيانات الوصفية (مثلmaintainer,cost-center).--ignore: إسكات القواعد التي لا تنطبق على بنائك.--error/--warning: إعادة تعيين شدة القواعد لتتوافق مع سياستك.--require-label: فرض تنسيقات تسميات محددة (Regex).
7. TFLint (Terraform Logic)
terraform validate هو فحص بناء الجملة. TFLint هو فحص المنطق.
--enable-plugin: تحميل القواعد الخاصة بالمزود (مثل AWS, Azure) للتحقق من مواصفات API.--minimum-failure-severity: التحكم في عتبة كسر البناء (خطأ، تحذير، إشعار).--call-module-type: فحصall,local, أوnoneمن الوحدات.--var-file: حقن المتغيرات لتقييم المنطق الشرطي بدقة.
المرحلة 2: حراس بوابة CI (ثق، ولكن تحقق)
هذه هي غرفة الحرب. تحليل عميق أثناء عملية البناء.
8. Trivy (The Heavy Hitter)
السكين السويسري متعدد الاستخدامات.
--ignore-unfixed: إلزامي. إذا لم يكن هناك تصحيح، لا تفشل في البناء. راقبها.--ignore-status: تصفية الثغرات ذات الحالات المحددة.--pkg-types: ركز الفحص على حزمosأو تبعياتlibrary.--offline-scan: تشغيل في بيئات معزولة عن الشبكة.--include-dev-deps: لا تتجاهلdevDependencies—فهي يمكن أن تضر بيئة البناء.--list-all-pkgs: أخرج كل شيء. ضروري لإنشاء SBOM كامل.
9. Syft (مولد SBOM)
لا يمكنك تأمين ما لا تعرف أنك تملكه.
--enrich: أضف بيانات وصفية عبر الإنترنت لاستخدام أكثر ثراءً (Golang، Java، إلخ).-s/--scope: افحص جميع الطبقات (all-layers) أو فقط الصورة النهائية (squashed).--select-catalogers: استهدف مديري الحزم المحددين (npm، pip، apk).--platform: استهدف معماريات محددة (مثلarm64).
10. Grype (ماسح SBOM)
يأخذ الشعلة من Syft.
-f/--fail-on: اكسر البناء إذا كانت الشدة >=medium،high، إلخ.--only-fixed: أبلغ فقط عن الثغرات التي يمكن اتخاذ إجراء بشأنها.--by-cve: نظم المخرجات حسب معرف CVE للتتبع.--ignore-states: تجاهل الحالات العامة “wontfix” أو “not-affected”.
11. Checkov (حوكمة IaC)
منع الأخطاء في تكوين السحابة قبل أن تكلفك المال.
-s/--soft-fail: حذر ولكن لا تكسر. الأفضل لوضع “المراقبة”.--check/--skip-check: قائمة بيضاء أو قائمة سوداء لفحوصات محددة (CKV_AWS_1).--skip-framework: تجاهل الأطر بالكامل (مثل فحص Terraform ولكن تخطي CloudFormation).--enable-secret-scan-all-files: تمديد فحص الأسرار إلى ما وراء ملفات التكوين القياسية.--block-list-secret-scan: استبعاد ملفات محددة من ماسح الأسرار.
12. KICS (Keeping IaC Secure)
البديل لتغطية واسعة للبنية التحتية ككود.
--exclude-queries: إزالة الضوضاء عن طريق تصفية معرفات الاستعلام المحددة.--exclude-categories: تصفية النتائج حسب مجال الأمان.--fail-on: تحديد مستويات الخطورة التي تعيد رمز خروج غير صفري.--minimal-ui: إخراج CLI مبسط لسجلات أنظف.--disable-secrets: إيقاف فحص الأسرار الداخلي (استخدم Gitleaks بدلاً من ذلك).
13. Terrascan (Policy-as-Code)
متخصص في فرض السياسات متعددة السحابة.
-i/--iac-type: تحسين عن طريق تحديد المنصة (k8s، helm، terraform).-t/--policy-type: تصفية السياسات حسب المزود (aws، azure، gcp).--severity: تحديد الحد الأدنى للخطورة للإبلاغ.--non-recursive: فحص الدليل الحالي فقط.
14. OWASP Dependency-Check (Legacy & Compliance)
الرافعة الثقيلة لـ Java و .NET SCA.
--failOnCVSS: كسر البناء إذا تجاوزت أي مكتبة درجة CVSS (مثل 7.0).--suppression: استخدم ملف XML “لكتم” الثغرات المعروفة الآمنة (VEX-lite).--enableExperimental: استخدم محللات جديدة للغات الأقل شيوعًا.
15. DevSkim (نظافة متعددة اللغات)
فحوصات IDE وCI موجهة للمطورين.
--rule-ids: قصر التحليل على قواعد محددة.--ignore-globs: استخدم أنماط glob القياسية لتخطي الملفات المزعجة.--skip-git-ignored-files: المزامنة تلقائيًا مع.gitignore.--skip-excerpts: الحفاظ على التقارير صغيرة عن طريق إزالة عينات الكود.
المرحلة 3: وقت التشغيل والقطع الأثرية (الخط النهائي)
فحص القطعة الأثرية النهائية أو البيئة الحية.
16. Clamscan (الدفاع ضد البرمجيات الخبيثة)
لأن الناس أحيانًا يرفعون فيروسات إلى دلو S3 الخاص بك.
--exclude/--exclude-dir: تخطي أنماط الملفات/المجلدات لتوفير الوقت.--detect-pua: البحث عن “التطبيقات غير المرغوب فيها المحتملة” (البرامج الإعلانية، عمال المناجم).--detect-structured: فحص أنماط البيانات الحساسة مثل بطاقات الائتمان/أرقام الضمان الاجتماعي.--scan-pdf/--scan-html: تمكين الفحص العميق لأنواع المستندات.--cross-fs: السماح بالفحص عبر أنظمة الملفات المختلفة (استخدم بحذر).
17. Nuclei (سكين الهاكر)
فحص موجه بالقوالب يبدو غير قانوني.
-t/--templates: تشغيل ملفات القوالب المحددة أو الدلائل.-tags: استهداف الفحوصات بناءً على التقنية (مثلًا،wordpress,cve).-s/--severity: تصفية القوالب حسب مستوى التأثير.-fr/--follow-redirects: متابعة عمليات إعادة التوجيه HTTP 301/302 للعثور على الحمولة.-passive: الفحص من خلال النظر إلى الرؤوس/الاستجابات الموجودة دون إرسال “هجمات” جديدة.-etags fuzz: استبعاد قوالب الفحص في الإنتاج.
الملخص: “خط الأنابيب المثالي”
- محلي: يقوم
pre-commitبتشغيل Gitleaks (الأساسي)، Trufflehog (تم التحقق منه)، و Hadolint. - البناء: يقوم Trivy بفحص التبعيات (
--ignore-unfixed). يقوم Syft بتوليد SBOM. Dependency-Check للامتثال. - الاختبار: يقوم Checkov و KICS بفحص خطة Terraform. يقوم Opengrep بفحص أنماط الكود.
- المنتج: يقوم Clamscan بفحص الأصول/الملفات النهائية.
- النشر: يقوم Nuclei بفحوصات السلامة للنقطة النهائية الحية.
اضبط أدواتك، أو ستضبطك هي.
Plexicus جعل كل ذلك أسهل
مع لوحة تحكم موحدة، والوصول إلى جميع تكاملات أدواتنا، سيستغرق الأمر بضع نقرات فقط Plexicus


