Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
kube-linter — KubeLinter هي أداة تحليل ثابت تفحص ملفات Kubernetes بصيغة YAML ومخططات Helm للتأكد من أن التطبيقات الممثلة فيها تلتزم بأفضل الممارسات. | Kitploit
أدوات/GitHubGitHub/stackrox/kube-linter
التحليل الثابتأمن الحاوياتتدقيق التكوينأمن السحابةDevSecOpsسوء التكوين
GitHubstackrox/kube-linter

kube-linter

KubeLinter هي أداة تحليل ثابت تفحص ملفات Kubernetes بصيغة YAML ومخططات Helm للتأكد من أن التطبيقات الممثلة فيها تلتزم بأفضل الممارسات.

عرض المستودع
3.5k273منذ 3 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

تحليل ثابت لـ Kubernetes

Go Report Card

ما هو KubeLinter؟

يحلل KubeLinter ملفات Kubernetes بصيغة YAML، ومخططات Helm، وملفات Kustomize، ويفحصها مقابل مجموعة متنوعة من أفضل الممارسات، مع التركيز على الجاهزية للإنتاج والأمان.

يشغّل KubeLinter فحوصات افتراضية منطقية، مصممة لمنحك معلومات مفيدة حول ملفات Kubernetes بصيغة YAML، ومخططات Helm، وملفات Kustomize. وهذا لمساعدة الفرق على الفحص مبكرًا وبشكل متكرر بحثًا عن أخطاء التكوين الأمنية وأفضل ممارسات DevOps. تتضمن بعض الأمثلة الشائعة على ذلك تشغيل الحاويات كمستخدم غير جذر، وتطبيق مبدأ الامتياز الأقل، وتخزين المعلومات الحساسة في الأسرار (Secrets) فقط.

KubeLinter قابل للتكوين، لذا يمكنك تمكين الفحوصات وتعطيلها، بالإضافة إلى إنشاء فحوصات مخصصة خاصة بك، وفقًا للسياسات التي تريد اتباعها داخل مؤسستك.

عند فشل فحص lint، يقدم KubeLinter توصيات حول كيفية حل أي مشكلات محتملة ويعيد رمز خروج غير صفري.

التوثيق

تفضل بزيارة https://docs.kubelinter.io للحصول على توثيق مفصّل حول تثبيت KubeLinter واستخدامه وتكوينه.

تثبيت KubeLinter

يمكن العثور على ثنائيات Kube-linter هنا: https://github.com/stackrox/kube-linter/releases/latest

باستخدام Go

لتثبيته باستخدام Go، نفّذ الأمر التالي:

root@kitploit:~
go install golang.stackrox.io/kube-linter/cmd/kube-linter@latest

وإلا، قم بتنزيل أحدث ثنائي من Releases وأضفه إلى PATH الخاص بك.

باستخدام Homebrew لنظام macOS أو LinuxBrew لنظام Linux

لتثبيته باستخدام Homebrew أو LinuxBrew، نفّذ الأمر التالي:

root@kitploit:~
brew install kube-linter

باستخدام nix-shell

root@kitploit:~
nix-shell -p kube-linter

باستخدام docker

root@kitploit:~
docker pull stackrox/kube-linter:latest

التطوير

المتطلبات الأساسية

  • تأكد من أنك قمت بتثبيت Go قبل البناء من المصدر.

بناء KubeLinter

تثبيت KubeLinter من المصدر بسيط مثل اتباع الخطوات التالية:

  1. أولاً، استنسخ مستودع KubeLinter.

    root@kitploit:~
    git clone [email protected]:stackrox/kube-linter.git
    
  2. بعد ذلك، قم بتجميع الكود المصدري. سيؤدي هذا إلى إنشاء ملفات ثنائية kube-linter لكل منصة ووضعها في مجلد .gobin.

    root@kitploit:~
    make build
    
  3. أخيرًا، أنت جاهز لبدء استخدام KubeLinter. تحقق من إصدارك للتأكد من أنك قمت بتثبيت KubeLinter بنجاح.

    root@kitploit:~
    .gobin/kube-linter version
    

اختبار KubeLinter

هناك عدة طبقات من الاختبارات. من المتوقع أن تجتاز كل طبقة.

  1. اختبارات الوحدة go:

    root@kitploit:~
    make test
    
  2. اختبارات التكامل الشاملة (end-to-end):

    root@kitploit:~
    make e2e-test
    
  3. وأخيرًا، اختبارات التكامل الشاملة باستخدام bats-core:

    root@kitploit:~
    make e2e-bats
    

التحقق من صور KubeLinter

صور KubeLinter موقّعة بواسطة cosign. نوصي بالتحقق من الصورة قبل استخدامها.

بمجرد تثبيت cosign، يمكنك استخدام المفتاح العام لـ KubeLinter للتحقق من صورة KubeLinter باستخدام:

root@kitploit:~
cat kubelinter-cosign.pub
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEl0HCkCRzYv0qH5QiazoXeXe2qwFX
DmAszeH26g1s3OSsG/focPWkN88wEKQ5eiE95v+Z2snUQPl/mjPdvqpyjA==
-----END PUBLIC KEY-----


cosign verify --key kubelinter-cosign $IMAGE_NAME

توفر KubeLinter أيضًا توقيعات cosign بدون مفاتيح.

يمكنك التحقق من صورة KubeLinter باستخدام:

root@kitploit:~
# NOTE: Keyless signatures are NOT PRODUCTION ready.

COSIGN_EXPERIMENTAL=1 cosign verify $IMAGE_NAME

استخدام KubeLinter

فحص YAML المحلي

تشغيل KubeLinter لفحص ملفات YAML الخاصة بك يتطلب خطوتين فقط في أبسط صوره.

  1. حدد ملف YAML الذي تريد اختباره وفقًا لأفضل ممارسات الأمان والجاهزية للإنتاج:

  2. نفّذ الأمر التالي:

    root@kitploit:~
    kube-linter lint /path/to/your/yaml.yaml
    

مثال

ضع في اعتبارك ملف مواصفات pod النموذجي التالي pod.yaml. يحتوي هذا الملف على مشكلتين في الجاهزية للإنتاج ومشكلة أمنية واحدة:

مشكلة أمنية:

  1. الحاوية في هذا pod لا تعمل بنظام ملفات للقراءة فقط، مما قد يسمح لها بالكتابة على نظام الملفات الجذر.

الجاهزية للإنتاج:

  1. حدود الذاكرة للحاوية غير محددة، مما قد يسمح لها باستهلاك ذاكرة زائدة

    root@kitploit:~
    apiVersion: v1
    kind: Pod
    metadata:
      name: security-context-demo
    spec:
      securityContext:
        runAsUser: 1000
        runAsGroup: 3000
        fsGroup: 2000
      volumes:
      - name: sec-ctx-vol
        emptyDir: {}
      containers:
      - name: sec-ctx-demo
        image: busybox
        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
        command: [ "sh", "-c", "sleep 1h" ]
        volumeMounts:
        - name: sec-ctx-vol
          mountPath: /data/demo
        securityContext:
          allowPrivilegeEscalation: false
    
  2. انسخ YAML أعلاه إلى pod.yaml وافحص هذا الملف عن طريق تنفيذ الأمر التالي:

    root@kitploit:~
    kube-linter lint pod.yaml
    
  3. يشغّل KubeLinter فحوصاته الافتراضية ويقدم التوصيات. فيما يلي مخرجات الأمر السابق.

    root@kitploit:~
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) The container "sec-ctx-demo" is using an invalid container image, "busybox". Please use images that are not blocked by the `BlockList` criteria : [".*:(latest)$" "^[^:]*$" "(.*/[^:]+)$"] (check: latest-tag, remediation: Use a container image with a specific tag other than latest.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" does not have a read-only root file system (check: no-read-only-root-fs, remediation: Set readOnlyRootFilesystem to true in the container securityContext.)
    
    pod.yaml: (object: <no namespace>/security-context-demo /v1, Kind=Pod) container "sec-ctx-demo" has memory limit 0 (check: unset-memory-requirements, remediation: Set memory limits for your container based on its requirements. Refer to https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits for details.)
    
    Error: found 3 lint errors
    

صيغ المخرجات المتعددة

يدعم KubeLinter توليد صيغ مخرجات متعددة في تشغيل واحد. وهذا مفيد لتوليد تقارير قابلة للقراءة من قبل البشر والآلات في الوقت نفسه:

root@kitploit:~
kube-linter lint \
  --format sarif --output kube-linter.sarif \
  --format json --output kube-linter.json \
  --config .kube-linter.yaml \
  pod.yaml

سينفذ هذا الأمر ما يلي:

  • توليد تقرير بصيغة SARIF في kube-linter.sarif
  • توليد تقرير بصيغة JSON في kube-linter.json
  • معالجة الملفات مرة واحدة فقط، مما يحسّن الكفاءة

ملاحظة: تتطلب الصيغ المتعددة وجود علامات --output صريحة. لإخراج صيغة واحدة إلى stdout، استخدم علامة --format واحدة فقط بدون --output.

لمزيد من التفاصيل حول استخدام صيغ المخرجات المتعددة، راجع التوثيق.

لمعرفة المزيد حول استخدام وتكوين KubeLinter، قم بزيارة صفحة التوثيق.

إشارات/دروس تعليمية

فيما يلي دروس تعليمية حول KubeLinter كتبها مستخدمون. إذا كان لديك درس تود إضافته إلى هذه القائمة، فيرجى إرسال PR!

  • ضمان أفضل ممارسات YAML باستخدام KubeLinter على civo.com بقلم Saiyam Pathak.
  • تحليل ملفات Kubernetes بحثًا عن الأخطاء باستخدام KubeLinter على opensource.com بقلم Jessica Cherry.
  • كيف تضيف فحصًا جديدًا في KubeLinter؟ بقلم Priyanka Saggu.
  • توسيع kube-linter لبناء قالب مخصص بقلم Gareth Healy.

الترخيص

KubeLinter مرخّص بموجب رخصة Apache 2.0.

المجتمع

إذا كنت ترغب في التفاعل مع مجتمع KubeLinter، بما في ذلك المشرفون والمستخدمون الآخرون، يمكنك الانضمام إلى مساحة عمل Slack هنا.

قد تكون هناك تغييرات جذرية في المستقبل على استخدام الأوامر والعلامات وصيغ ملفات التكوين. ومع ذلك، نشجعك على استخدام KubeLinter لاختبار ملفات YAML الخاصة ببيئتك، ومعرفة ما قد يتعطل، والمساهمة.

وللتذكير، فإن جميع المشاركات في مجتمع KubeLinter تخضع لـمدونة قواعد السلوك.


تم إنشاء KubeLinter بـ ❤️ بواسطة StackRox ويعمل الآن بواسطة Red Hat.

تنزيل الأداة