تخطَّ إلى المحتوى

Kubescape

Kubescape هي منصة أمان Kubernetes مفتوحة المصدر لإدارة الوضع من ARMO (مشروع حضانة CNCF). توفر تحليل المخاطر وفحص الامتثال والكشف عن الأخطاء وفحص الثغرات عبر IDE وأنابيب CI/CD والعناقيد التي تعمل.

CommandDescription
curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | bashتثبيت أحدث إصدار (macOS/Linux)
brew install kubescapeالتثبيت عبر Homebrew (macOS)
scoop install kubescapeالتثبيت عبر Scoop (Windows)
docker run -it kubescape/kubescape:latest kubescape --helpتشغيل Kubescape في Docker
kubescape versionعرض الإصدار المثبت
kubescape downloadتحميل الأطر والسياسات
kubescape download --frameworksتحميل جميع الأطر
CommandDescription
kubescape scanفحص العنقود الحالي باستخدام kubeconfig
kubescape scan --kubeconfig /path/to/kubeconfigفحص العنقود باستخدام kubeconfig محدد
kubescape scan -f manifest.yamlفحص ملف بيان YAML
kubescape scan -f *.yamlفحص ملفات بيان متعددة
kubescape scan -d ./k8s-configs/فحص جميع البيانات في الدليل
kubescape scan --helm /path/to/chartفحص مخطط Helm قبل النشر
kubescape scan --include-namespaces default,kube-systemفحص مساحات الأسماء المحددة فقط
kubescape scan --exclude-namespaces kube-node-leaseاستبعاد مساحات الأسماء من الفحص
kubescape scan --severity high,criticalعرض مشاكل درجة الخطورة العالية/الحرجة فقط
kubescape scan --pod-runtime containerdتحديد وقت تشغيل الحاوية (docker, containerd, cri-o)
CommandDescription
kubescape scan framework nsaفحص ضد دليل تعزيز Kubernetes NSA-CISA
kubescape scan framework cisفحص ضد معيار CIS Kubernetes
kubescape scan framework mitreفحص ضد إطار عمل MITRE ATT&CK
kubescape scan framework pci-dssفحص ضد امتثال PCI-DSS
kubescape scan framework soc2فحص ضد امتثال SOC2
kubescape scan framework hipaaفحص ضد امتثال HIPAA
kubescape scan -f manifest.yaml -f nsa,cis,mitreفحص البيان ضد عدة أطر عمل
kubescape scan --list-frameworksقائمة بجميع الأطر المتاحة
CommandDescription
kubescape scan image gcr.io/project/image:tagفحص صورة الحاوية بحثاً عن الثغرات
kubescape scan image --image-scan-concurrency 5 image1 image2فحص عدة صور بشكل متزامن
kubescape scan -f manifest.yaml --include-image-scanningفحص البيانات وجميع الصور المشار إليها
kubescape scan image --severity critical --only-vulnerabilitiesعرض الثغرات الحرجة فقط
kubescape scan image --image-registry-credentials user:pass@registry:5000فحص صور السجل الخاص
kubescape scan -f manifest.yaml --image-scan-cacheتخزين عمليات مسح الصور مؤقتاً للعمليات المتكررة
CommandDescription
kubescape scan -o json > report.jsonنتائج الإخراج كـ JSON
kubescape scan -o pdf > report.pdfإنشاء تقرير PDF
kubescape scan -o html > report.htmlإنشاء تقرير HTML
kubescape scan -o sarif > report.sarifالإخراج بصيغة SARIF (لأدوات CI/CD)
kubescape scan -o pretty-jsonإخراج JSON منسق
kubescape scan --output-file report.json -o jsonحفظ الإخراج في ملف
kubescape scan -o json | jq '.results[] | select(.severity=="critical")'تصفية نتائج JSON باستخدام jq
CommandDescription
kubescape scan --fail-threshold 80فشل خط الأنابيب إذا كان درجة المخاطرة أقل من 80
kubescape scan --fail-threshold 70 --severity criticalبوابة خط الأنابيب عند الاكتشافات الحرجة
kubescape scan -f manifest.yaml --fail-threshold 85 -o sarifإنشاء SARIF + بوابة في GitHub Actions
kubescape scan --fail-on-compliance-failureفشل إذا فشلت أطر الامتثال
kubescape scan -o json --format-by-severityالإخراج مجمع حسب مستوى الخطورة
- name: Run Kubescape security scan
  uses: kubescape/github-action@v2
  with:
    kubeconfig: ${{ secrets.KUBECONFIG }}
    frameworks: nsa,cis
    fail-threshold: 80
    output-format: sarif
    output-file: kubescape-report.sarif

- name: Upload SARIF to GitHub Security
  uses: github/codeql-action/upload-sarif@v2
  with:
    sarif_file: kubescape-report.sarif
kubescape_scan:
  stage: security
  image: kubescape/kubescape:latest
  script:
    - kubescape scan framework nsa --fail-threshold 80 -o sarif > report.sarif
    - kubescape scan framework cis --fail-threshold 75 -o json > cis-report.json
  artifacts:
    reports:
      sast: report.sarif
    paths:
      - cis-report.json
stage('Security: Kubescape') {
    steps {
        sh '''
            kubescape scan -f k8s-manifests/ \
              --fail-threshold 80 \
              -o sarif > kubescape-report.sarif \
              -o json > kubescape-report.json
        '''
        archiveArtifacts artifacts: '*-report.*'
    }
}
CommandDescription
kubescape download --output-dir ./offline-dataتحميل جميع الأطر إلى الدليل المحلي
kubescape download --frameworks nsa,cis --output-dir ./fwتحميل أطر محددة بلا اتصال
kubescape scan -f manifest.yaml --offline --frameworks-dir ./offline-dataفحص باستخدام الأطر المحملة
kubescape scan -d manifests/ --offline --frameworks-dir ./offline-dataفحص الدليل بلا اتصال
CommandDescription
kubescape configعرض التكوين الحالي
kubescape config set <key> <value>تعيين قيمة التكوين
kubescape config get <key>الحصول على قيمة التكوين
kubescape config -p ~/.kubescape/configاستخدام مسار ملف التكوين المخصص
kubescape scan -c ./custom-config.yamlفحص باستخدام تكوين مخصص
CommandDescription
kubescape operator installتثبيت مشغل Kubescape في العنقود
kubescape operator install --namespace kubescapeتثبيت المشغل في مساحة اسم محددة
kubescape operator uninstallإزالة مشغل Kubescape
kubectl get deployment -n kubescapeالتحقق من تثبيت المشغل
kubectl logs -n kubescape -l app=kubescape-operatorعرض سجلات المشغل
kubescape operator statusفحص حالة المشغل

تخصيص الضوابط والاستثناءات

Section titled “تخصيص الضوابط والاستثناءات”
CommandDescription
kubescape scan --exceptions exceptions.jsonتطبيق قواعد الاستثناء على الفحص
kubescape scan --enable-controls <control-id>تمكين ضوابط محددة
kubescape scan --disable-controls <control-id>تعطيل ضوابط محددة
kubescape scan --controls <id1>,<id2>تشغيل الضوابط المحددة فقط
kubescape scan --list-controlsقائمة بجميع الضوابط المتاحة
kubescape scan --list-controls --framework nsaقائمة بضوابط إطار عمل NSA

مثال ملف الاستثناء (exceptions.json)

Section titled “مثال ملف الاستثناء (exceptions.json)”
{
  "exceptions": [
    {
      "ruleID": "C-0001",
      "namespace": "test-namespace",
      "resources": ["deployment/test-app"],
      "justification": "Development environment exemption"
    }
  ]
}
CommandDescription
kubescape scan --verboseعرض إخراج تصحيح تفصيلي
kubescape scan --log-level debugتعيين مستوى التسجيل (debug, info, warn, error)
kubescape scan --submitإرسال نتائج الفحص إلى Kubescape Cloud
kubescape scan --account <account-id>إرسال إلى حساب سحابة محدد
kubescape scan --keep-localفحص بدون إرسال إلى السحابة
kubescape scan --max-workers 10التحكم في عمال المعالجة المتوازية
kubescape scan --timeout 300تعيين انتهاء الصلاحية بالثواني
PracticeDescription
البيانات في التحكم بالإصدارتابع البيانات في التحكم بالإصدار دائماً؛ فحص قبل النشر
البوابة على درجة المخاطرةتعيين --fail-threshold في CI/CD؛ استخدام 75-85 حسب تحمل المخاطر بالمؤسسة
فحص أطر عمل متعددةاستخدام NSA + CIS + MITRE؛ معالجة النتائج ذات الأولوية الأعلى أولاً
فحص الصور بانتظامفحص صور الحاويات في سلسلة التوريد؛ اكتشاف الـ CVE مبكراً
عزل مساحة الاسماستخدام --include-namespaces لتركيز عمليات المسح؛ استبعاد مساحات الأسماء النظامية
بدون اتصال في البيئات الآمنةتحميل الأطر بلا اتصال للعناقيد المعزولة
المراقبة عبر الزمنتتبع درجات المخاطرة عبر عمليات الفحص؛ التحقيق في الانحدار
تبرير الاستثناءتوثيق الاستثناءات؛ مراجعة دورية للإزالة
قبل النشر مع Helmتشغيل kubescape scan --helm على المخططات قبل Helm install
تمكين RBACالتحقق من أن ServiceAccount له الحد الأدنى من الأذونات المطلوبة
استخدام إخراج SARIFدمج تقارير SARIF في IDE و GitHub و SIEM
مراجعة تفاصيل التحكماستخدام kubescape scan --list-controls لفهم غرض كل ضابط