
مدقق صور الحاويات للأمان، يساعد في بناء صورة Docker وفق أفضل الممارسات، سهل البدء
Dockle - أداة فحص صور الحاويات للأمان، تساعد في بناء أفضل صورة Docker وفقًا لأفضل الممارسات، سهلة البدء
Dockle يساعدك في:
انظر [التثبيت](#installation) و [الأمثلة الشائعة](#common-examples)
<img src="https://assets.kitploit.com/production/public/readmes/4137/343598bd4d53296c6d6d23acde8c2917d5727f03e7b3a34c1ff0865c435bb974.png" width="800">
# مقارنة نقاط الفحص
<img src="https://assets.kitploit.com/production/public/readmes/4137/4f4835c3a5fd70f436d9d8ea656fd8a521112fece4e35977288064d3f6f4510a.png" width="800">
<img src="https://assets.kitploit.com/production/public/readmes/4137/7bee9da0b061957af6a175a3b975dca82813c27f72ab6921dfe8ab2d6747322b.png" width="800">
# جدول المحتويات
- [الميزات](#features)
- [المقارنة](#comparison)
- [التثبيت](#installation)
- [Homebrew (Mac OS X / Linux و WSL)](#homebrew-mac-os-x--linux-and-wsl)
- [RHEL/CentOS](#rhelcentos)
- [Debian/Ubuntu](#debianubuntu)
- [Arch Linux](#arch-linux)
- [ويندوز](#windows)
- [Microsoft PowerShell 7](#microsoft-powershell-7)
- [ثنائي (Binary)](#binary)
- [asdf](#asdf)
- [mise](#mise)
- [من المصدر](#from-source)
- [استخدام Docker](#use-docker)
- [البدء السريع](#quick-start)
- [أساسي](#basic)
- [Docker](#docker)
- [ملخص نقاط الفحص](#checkpoint-summary)
- [الأمثلة الشائعة](#common-examples)
- [فحص صورة](#scan-an-image)
- [فحص ملف صورة](#scan-an-image-file)
- [الحصول على النتائج أو حفظها بصيغة JSON](#get-or-save-the-results-as-json)
- [الحصول على النتائج أو حفظها بصيغة SARIF](#get-or-save-the-results-as-sarif)
- [تحديد رمز الخروج](#specify-exit-code)
- [تحديد مستوى الخروج](#specify-exit-level)
- [تجاهل نقاط الفحص المحددة](#ignore-the-specified-checkpoints)
- [قبول `المتغيرات البيئية` / `الملفات` / `امتدادات الملفات` المشبوهة](#accept-suspicious-environment-variables--files--file-extensions)
- [رفض `المتغيرات البيئية` / `الملفات` / `امتدادات الملفات` المشبوهة](#reject-suspicious-environment-variables--files--file-extensions)
- [التكامل المستمر](#continuous-integration-ci)
- [GitHub Action](#github-action)
- [Travis CI](#travis-ci)
- [CircleCI](#circleci)
- [GitLab CI](#gitlab-ci)
- [التفويض لسجل Docker الخاص](#authorization-for-private-docker-registry)
- [Docker Hub](#docker-hub)
- [Amazon ECR (Elastic Container Registry)](#amazon-ecr-elastic-container-registry)
- [GCR (Google Container Registry)](#gcr-google-container-registry)
- [السجل المستضاف ذاتيًا (BasicAuth)](#self-hosted-registry-basicauth)
- [المساهمون](#contributors)
- [مساهمو الكود](#code-contributors)
- [المساهمون الماليون](#financial-contributors)
- [أفراد](#individuals)
- [منظمات](#organizations)
- [الترخيص](#license)
- [المؤلف](#author)
# الميزات
- اكتشاف ثغرات الحاوية
- المساعدة في بناء Dockerfile بأفضل الممارسات
- استخدام بسيط
- تحديد اسم الصورة فقط
- انظر [البدء السريع](#quick-start) و [الأمثلة الشائعة](#common-examples)
- دعم معايير CIS
- دقة عالية
- DevSecOps
- مناسب لـ CI مثل Travis CI و CircleCI و Jenkins وغيرها
- انظر [مثال CI](#continuous-integration-ci)
# المقارنة
| | [Dockle](https://github.com/goodwithtech/dockle) | [Hadolint](https://github.com/hadolint/hadolint) | [Docker Bench for Security](https://github.com/docker/docker-bench-security) | [Clair](https://github.com/coreos/clair) |
|--- |---:|---:|---:|---:|
| الهدف | الصورة | Dockerfile | المضيف<br/>Daemon Docker<br/>الصورة<br/>وقت تشغيل الحاوية | الصورة |
| طريقة التشغيل | ثنائي | ثنائي | سكربت شيل | ثنائي |
| الاعتماديات | لا | لا | بعض الاعتماديات | لا |
| مناسب لـ CI | ✓ | ✓ | x | x |
| الغرض |مراجعة أمنية<br/>تدقيق Dockerfile| تدقيق Dockerfile | مراجعة أمنية<br/>تدقيق Dockerfile | فحص الثغرات |
# التثبيت
## Homebrew (Mac OS X / Linux و WSL)
يمكنك استخدام Homebrew على [Mac OS X](https://brew.sh/) أو [Linux و WSL (نظام ويندوز الفرعي للينكس)](https://docs.brew.sh/Homebrew-on-Linux).```bash
$ brew install goodwithtech/r/dockle
VERSION=$(
curl --silent "https://api.github.com/repos/goodwithtech/dockle/releases/latest" |
grep '"tag_name":' |
sed -E 's/."v([^"]+)"./\1/'
) && rpm -ivh https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Linux-64bit.rpm
## Debian/Ubuntu```bash
VERSION=$(
curl --silent "https://api.github.com/repos/goodwithtech/dockle/releases/latest" | \
grep '"tag_name":' | \
sed -E 's/.*"v([^"]+)".*/\1/' \
) && curl -L -o dockle.deb https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Linux-64bit.deb
$ sudo dpkg -i dockle.deb && rm dockle.deb
يمكن تثبيت dockle من Arch User Repository باستخدام حزمة dockle أو dockle-bin.```
git clone https://aur.archlinux.org/dockle-bin.git
cd dockle-bin
makepkg -sri
## ويندوز```bash
VERSION=$(
curl --silent "https://api.github.com/repos/goodwithtech/dockle/releases/latest" | \
grep '"tag_name":' | \
sed -E 's/.*"v([^"]+)".*/\1/' \
) && curl -L -o dockle.zip https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Windows-64bit.zip
$ unzip dockle.zip && rm dockle.zip
$ ./dockle.exe [IMAGE_NAME]
if (((Invoke-WebRequest "https://api.github.com/repos/goodwithtech/dockle/releases/latest").Content) -match '"tag_name":"v(?[^"]+)"') { $VERSION=$Matches.ver && Invoke-WebRequest "https://github.com/goodwithtech/dockle/releases/download/v${VERSION}/dockle_${VERSION}_Windows-64bit.zip" -OutFile dockle.zip && Expand-Archive dockle.zip && Remove-Item dockle.zip }
## الملف الثنائي
يمكنك الحصول على أحدث نسخة ثنائية من [صفحة الإصدارات](https://github.com/goodwithtech/dockle/releases/latest).
قم بتنزيل ملف الأرشيف الخاص بنظام التشغيل/الهندسة المعمارية الخاصة بك. قم بفك ضغط الأرشيف، وضع الملف الثنائي في مكان ما في `$PATH` الخاص بك (على أنظمة يونكس، `/usr/local/bin` أو ما شابه ذلك).
- ملاحظة: تأكد من تمكين أذونات التنفيذ. (`chmod +x dockle`)
## asdf
يمكنك تثبيت dockle باستخدام [مدير الإصدارات asdf](https://asdf-vm.com/) عبر هذا [الملحق](https://github.com/mathew-fleisch/asdf-dockle)، والذي يقوم بأتمتة عملية تثبيت (والتبديل بين) إصدارات مختلفة من ملفات إصدارات github الثنائية. مع تثبيت asdf مسبقًا، قم بتشغيل هذه الأوامر لتثبيت dockle:```bash
# Add dockle plugin
asdf plugin add dockle
# Show all installable versions
asdf list-all dockle
# Install specific version
asdf install dockle latest
# Set a version globally (on your ~/.tool-versions file)
asdf global dockle latest
# Now dockle commands are available
dockle --version
يمكنك تثبيت dockle باستخدام mise، مدير إصدارات الأدوات متعدد اللغات. مع تثبيت mise مسبقًا، قم بتشغيل هذه الأوامر لتثبيت dockle:```bash
mise ls-remote dockle
mise install dockle@latest