Kubescape هي منصة أمان Kubernetes مفتوحة المصدر لإدارة الوضع من ARMO (مشروع حضانة CNCF). توفر تحليل المخاطر وفحص الامتثال والكشف عن الأخطاء وفحص الثغرات عبر IDE وأنابيب CI/CD والعناقيد التي تعمل.
| Command | Description |
|---|
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 | تحميل جميع الأطر |
| Command | Description |
|---|
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) |
| Command | Description |
|---|
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 | قائمة بجميع الأطر المتاحة |
| Command | Description |
|---|
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 | تخزين عمليات مسح الصور مؤقتاً للعمليات المتكررة |
| Command | Description |
|---|
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 |
| Command | Description |
|---|
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.*'
}
}
| Command | Description |
|---|
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 | فحص الدليل بلا اتصال |
| Command | Description |
|---|
kubescape config | عرض التكوين الحالي |
kubescape config set <key> <value> | تعيين قيمة التكوين |
kubescape config get <key> | الحصول على قيمة التكوين |
kubescape config -p ~/.kubescape/config | استخدام مسار ملف التكوين المخصص |
kubescape scan -c ./custom-config.yaml | فحص باستخدام تكوين مخصص |
| Command | Description |
|---|
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 | فحص حالة المشغل |
| Command | Description |
|---|
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": [
{
"ruleID": "C-0001",
"namespace": "test-namespace",
"resources": ["deployment/test-app"],
"justification": "Development environment exemption"
}
]
}
| Command | Description |
|---|
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 | تعيين انتهاء الصلاحية بالثواني |
| Practice | Description |
|---|
| البيانات في التحكم بالإصدار | تابع البيانات في التحكم بالإصدار دائماً؛ فحص قبل النشر |
| البوابة على درجة المخاطرة | تعيين --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 لفهم غرض كل ضابط |