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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
DockSec — ماسح أمان Docker مدعوم بالذكاء الاصطناعي يشرح الثغرات الأمنية بلغة إنجليزية بسيطة. مشروع معملي من OWASP. | Kitploit
أدوات/GitHubGitHub/owasp/docksec
التحليل الثابتماسحات الثغرات الأمنيةأمن الحاوياتتحليل الكودDevSecOpsأمن سلسلة التوريدالتعلم والتعليمأمن الذكاء الاصطناعي
GitHubowasp/docksec

DockSec

ماسح أمان Docker مدعوم بالذكاء الاصطناعي يشرح الثغرات الأمنية بلغة إنجليزية بسيطة. مشروع معملي من OWASP.

عرض المستودع
4659057منذ 2 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

OWASP OWASP project-docksec Build Status
OpenSSF Best Practices

License Last Commit Contributors

Forks Stars PyPI Downloads

Issues Pull Requests

CREATED

DockSec Logo

OWASP Logo

DockSec

ماسح أمان Docker مدعوم بالذكاء الاصطناعي يشرح الثغرات الأمنية بلغة إنجليزية بسيطة


ما هو DockSec؟

DockSec هو مشروع مختبر OWASP يسد الفجوة بين نتائج فحوصات الأمان المعقدة والإصلاحات العملية للمطورين. يدمج الماسحات الضوئية القياسية في الصناعة (Trivy, Hadolint, Docker Scout) مع الذكاء الاصطناعي لتوفير تحليل أمني مدرك للسياق.

بدلاً من إغراقك بقائمة تضم أكثر من 200 ثغرة CVE، يقوم DockSec بـ:

  • ترتيب الأولويات لما يؤثر فعلياً على إعداد الحاوية الخاص بك.
  • شرح الثغرات الأمنية بلغة إنجليزية بسيطة، وليس فقط بالمصطلحات الأمنية المتخصصة.
  • اقتراح إصلاحات محددة لملف Dockerfile الخاص بك.
  • إنشاء تقارير أمنية احترافية وتفاعلية لفريقك.

كل شيء يُفحص محلياً؛ الشيء الوحيد الذي يغادر جهازك على الإطلاق هو محتوى الملف (مع إخفاء الأسرار) الذي يُرسل إلى مزود الذكاء الاصطناعي الذي تختاره - ومع نموذج محلي أو وضع الفحص فقط، لا يغادر أي شيء على الإطلاق. انظر تدفق البيانات والخصوصية.


كيف يعمل

DockSec Workflow

سير عمل DockSec: من الفحص إلى رؤى قابلة للتنفيذ

يتبع DockSec مساراً من أربع مراحل:

  1. الفحص: يشغّل Trivy وHadolint وDocker Scout محلياً على بيئتك.
  2. التحليل: يربط الذكاء الاصطناعي النتائج عبر جميع الماسحات الضوئية لإزالة الضوضاء وتقييم التأثير الواقعي.
  3. التوصية: يولّد شروحات قابلة للقراءة البشرية وخطوات معالجة محددة.
  4. التقرير: يصدّر النتائج القابلة للتنفيذ بصيغ HTML وPDF وJSON وCSV وSARIF وCycloneDX SBOM.

البدء

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

يقوم DockSec بتنسيق الماسحات الضوئية المحلية، لذا فهو يحتاج إلى:

المتطلبالغرض منهالتثبيت
Python 3.12+DockSec نفسهpython.org
Trivyجميع الفحوصات (إلزامي)brew install trivy أو وثائق Trivy
Hadolintفحص ملفات Dockerfilebrew install hadolint أو وثائق Hadolint
Dockerفحوصات الصور (-i)وثائق Docker

أو دع DockSec يقوم بتثبيت Trivy وHadolint نيابةً عنك:```bash python -m docksec.setup_external_tools

root@kitploit:~
### 2. تثبيت DockSec```bash
# Full install with AI analysis support (recommended)
pip install "docksec[ai]"

# Or the slim, scan-only core (no LLM dependencies, no API key needed)
pip install docksec

3. تشغيل أول فحص لك

لا حاجة لمفتاح API للفحص المحلي:```bash docksec Dockerfile --scan-only

root@kitploit:~
تنتهي كل عملية فحص بملخص للنتائج: جدول للخطورة، ودرجة أمان من 0 إلى 100 مع
تقييم، وكتلة إجراءات "نظرة سريعة"، والتقارير المُنشأة (المحفوظة في
`~/.docksec/results/` افتراضيًا)، وأمر تالي مقترح.

### 4. تفعيل تحليل الذكاء الاصطناعي

يحلل تحليل الذكاء الاصطناعي النتائج ويقترح إصلاحات. اختر مزودًا، وعيّن مفتاح API الخاص به، ثم نفّذ:```bash
# OpenAI (default provider)
export OPENAI_API_KEY="sk-..."
docksec Dockerfile

# Anthropic Claude
export ANTHROPIC_API_KEY="sk-ant-..."
docksec Dockerfile --ai-only --provider anthropic --model claude-sonnet-5

# Google Gemini
export GOOGLE_API_KEY="..."
docksec Dockerfile --ai-only --provider google

# Ollama (fully local, no API key, data never leaves your machine)
docksec Dockerfile --ai-only --provider ollama --model llama3.1

كل مزوّد لديه نموذج افتراضي معقول (OpenAI: gpt-4o، Anthropic: claude-haiku-4-5، Google: gemini-1.5-pro، Ollama: llama3.1)، لذا فإن --model هو اختياري. لتجنب تكرار العلامات، قم بتعيين متغيرات البيئة (أو ضعها في ملف .env في الدليل الذي تشغّل منه - يقوم DockSec بتحميله تلقائيًا):```bash export LLM_PROVIDER=anthropic export LLM_MODEL=claude-sonnet-5 docksec Dockerfile

root@kitploit:~
قبل إرسال أي محتوى إلى مزوّد الذكاء الاصطناعي، يتم إخفاء القيم التي تبدو سرية (كلمات المرور، الرموز المميّزة، مفاتيح API، كتل المفاتيح الخاصة) تلقائيًا. راجع
[تدفّق البيانات والخصوصية](#data-flow-and-privacy).

### 5. أو استخدم GitHub Action```yaml
- name: Run DockSec AI Scanner
  uses: OWASP/[email protected]
  with:
    dockerfile: 'Dockerfile'
    openai_api_key: ${{ secrets.OPENAI_API_KEY }}

الأوامر الشائعة```bash

Scan Dockerfile + Docker image (AI + scanners)

docksec Dockerfile -i myapp:latest

Scan a Docker Compose file and all its services

docksec --compose docker-compose.yml

Scan only a Docker image

docksec --image-only -i myapp:latest

Fast local scan, no AI, no API key

docksec Dockerfile --scan-only

Choose which severity levels the image scan reports (default: CRITICAL,HIGH)

docksec -i myapp:latest --image-only --severity CRITICAL,HIGH,MEDIUM

Fail the build (exit 1) if any finding is HIGH or above

docksec -i myapp:latest --image-only --fail-on high

Write only the report formats you want, to a directory of your choice

docksec Dockerfile --scan-only --format json,html --output-dir ./reports

Print results as JSON to stdout for scripts and CI pipelines

docksec -i myapp:latest --image-only --json

Write a SARIF report for GitHub Code Scanning

docksec Dockerfile --scan-only --sarif

Write a CycloneDX SBOM of an image for supply-chain tooling

docksec --image-only -i myapp:latest --sbom

Fully offline scan: local Trivy DB, no network, no AI

docksec --image-only -i myapp:latest --offline

Save today's findings as a baseline, then only gate on new findings later

docksec -i myapp:latest --image-only --baseline .docksec-baseline.json --update-baseline docksec -i myapp:latest --image-only --baseline .docksec-baseline.json --fail-on high

Suppress triaged findings with an auditable ignore file

docksec -i myapp:latest --image-only --ignore-file .docksec-ignore.yml

Force a fresh scan, bypassing the results cache

docksec -i myapp:latest --image-only --no-cache

Install AI-assistant skill files (Claude Code, Cursor, Copilot, and more)

docksec install-skill

Output control

docksec Dockerfile --scan-only --quiet # warnings, errors, summary only docksec Dockerfile --scan-only --verbose # INFO-level diagnostics on stderr docksec Dockerfile --scan-only --verbose --log-file logs/docksec.log docksec Dockerfile --no-color # also honors NO_COLOR

root@kitploit:~
---

## ملف التكوين

قم بإضافة ملف `.docksec.yml` في جذر مستودعك وسيقوم الفريق بأكمله - وكل وظيفة CI - بالفحص وفقًا لنفس السياسة، بدلاً من أن يمرر كل مطور علاماته الخاصة.```yaml
# yaml-language-server: $schema=https://owasp.org/DockSec/docksec-config-schema.json
severity: CRITICAL,HIGH
fail_on: HIGH
formats: [json, html]
output_dir: ./security-reports

rules:
  disabled:
    - compose-missing-healthcheck

كل إعداد اختياري؛ أي شيء تتركه فارغًا يعود إلى متغير البيئة ثم إلى القيمة الافتراضية المدمجة. يوجد مثال كامل مشروح في examples/.docksec.yml.

الأولوية

الأعلى أولوية أولاً:``` CLI flag > environment variable > .docksec.yml > built-in default

root@kitploit:~
لذا فإن `severity: LOW` الملتزم بها لا تزال تُتجاوز بواسطة `--severity CRITICAL` في
سطر الأوامر، وبواسطة `DOCKSEC_DEFAULT_SEVERITY` في البيئة.

### الاكتشاف

يبحث DockSec عن `.docksec.yml` (أو `.docksec.yaml`) في دليل العمل
ثم يصعد إلى جذر المستودع، بحيث يرث الخدمة في
دليل فرعي من مستودع متعدد الحزم السياسة الملتزم بها في المستوى الأعلى. يتوقف البحث عند
الدليل الذي يحتوي على `.git`، لذا لا يلتقط أبدًا ملفًا من خارج
المستودع.

- `--config FILE` يستخدم ملفًا محددًا بدلاً من البحث.
- `--no-config` يتجاهل أي ملف إعدادات، لتشغيل CI قابل للتكرار.

يظهر ملف الإعدادات المعمول به في شريط الفحص، لذا يكون واضحًا دائمًا
أي سياسة تم تطبيقها.

### الإعدادات

| الإعداد | العلامة المكافئة | ملاحظات |
| --- | --- | --- |
| `severity` | `--severity` | مستويات الخطورة لفحص الصورة |
| `fail_on` | `--fail-on` | عتبة بوابة CI |
| `formats` | `--format` | صيغة القائمة: `[json, html]` |
| `output_dir` | `--output-dir` | وجهة التقرير |
| `provider` | `--provider` | `openai`, `anthropic`, `google`, `ollama` |
| `model` | `--model` | اسم النموذج للمزود |
| `offline` | `--offline` | بدون شبكة؛ يتخطى الذكاء الاصطناعي وDocker Scout |
| `skip_ai_scoring` | `--skip-ai-scoring` | التقييم المحلي فقط |
| `no_redact` | `--no-redact` | لا تخفِ الأسرار قبل استدعاء الذكاء الاصطناعي |
| `no_cache` | `--no-cache` | تجاوز ذاكرة التخزين المؤقت للفحص |
| `ignore_file` | `--ignore-file` | مسار ملف التنازل |
| `baseline` | `--baseline` | مسار ملف خط الأساس |
| `rules.disabled` | - | معرّفات القواعد لإيقافها تمامًا |

ملف الإعدادات غير الصالح - مفتاح غير معروف، خطورة سيئة - هو خطأ صارم
يخرج برمز `2` بدلاً من تحذير، لذا لا يمكن لملف سياسة معطوب أن يتسبب أبدًا في تشغيل فحص
تحت قواعد لم يلتزم بها الفريق.

### الإكمال التلقائي للمحرر

يعطي تعليق `# yaml-language-server:` في السطر الأول إكمالًا
وتحققًا داخليًا في VS Code ومحررات JetBrains. يُنشر المخطط في
[`docs/docksec-config-schema.json`](https://github.com/owasp/docksec/blob/main/docs/docksec-config-schema.json) ويمكن
إعادة توليده باستخدام `docksec --print-config-schema`.

### تعطيل القواعد

`rules.disabled` يوقف فحصًا تمامًا، في كل مكان - تتم إزالته
قبل التقييم والتقارير و`--json` وبوابة `--fail-on`. استخدمه للفحوصات
التي لا تنطبق على بيئتك. بالنسبة للنتائج الفردية التي قام فريقك
بفرزها وقبولها، فضّل [ملف التنازل](#ignoring-findings-waivers)،
الذي تحمل إدخالاته سببًا وتاريخ انتهاء وبالتالي تبقى قابلة للتدقيق.

---

## تكامل CI/CD

### رموز الخروج

يستخدم DockSec رموز خروج صديقة لـ CI بحيث يمكن للبناءات والأصداف التفاعل مع النتائج:

| الرمز | المعنى |
|---|---|
| `0` | نجاح، لا توجد نتائج عند أو فوق `--fail-on` |
| `1` | نتائج عند أو فوق عتبة `--fail-on` |
| `2` | خطأ في الاستخدام أو الوسائط |
| `3` | خطأ في الأداة أو وقت التشغيل (فشل الفحص، صورة غير موجودة، أدوات مفقودة) |

تتحكم `--fail-on` في البوابة بناءً على النتائج المنظمة (ثغرات الصور
وأخطاء تكوين compose). عندما تكون `--fail-on` أقل من `--severity` المطلوب، يتم توسيع
خطورة الفحص تلقائيًا بحيث يمكن للبوابة ملاحظة تلك النتائج.

### الإخراج القابل للقراءة آليًا

يطبع `--json` كائن JSON واحدًا إلى stdout (معلومات الفحص، الثغرات، عدد
الخطورة، وأي نتائج ذكاء اصطناعي) بدلاً من الملخص القابل للقراءة البشرية، بحيث يمكن تمريره
مباشرة إلى أدوات أخرى:```bash
docksec -i myapp:latest --image-only --json | jq '.severity_counts'

مع --json وحده، لا تتم كتابة أي ملفات تقارير؛ ادمجه مع --format لكتابة الملفات وطباعة JSON في نفس التشغيل. تنتقل جميع الرسائل القابلة للقراءة البشرية إلى stderr في وضع --json، بحيث لا يحتوي stdout أبدًا إلا على حمولة JSON.

مخرجات SARIF لفحص كود GitHub

يكتب --sarif تقرير SARIF 2.1.0 إلى جانب تنسيقات التقارير الأخرى. ارفعه باستخدام إجراء github/codeql-action/upload-sarif القياسي لرؤية النتائج مُعلَّقة مباشرة على طلبات السحب وفي تبويب الأمان:```yaml

  • name: Run DockSec uses: OWASP/[email protected] with: dockerfile: 'Dockerfile' sarif: 'true'

  • name: Upload SARIF to GitHub Code Scanning uses: github/codeql-action/upload-sarif@v3 if: always() with: sarif_file: ~/.docksec/results

root@kitploit:~
> `if: always()` مهم: بدونها، يتم تخطي خطوة الرفع كلما
> تسبب `--fail-on` في خروج DockSec برمز غير صفري، مما يؤدي إلى فقدان النتائج في اللحظة التي
> تكون فيها أكثر أهمية.

### وضع خط الأساس / الوضع التصاعدي

يتيح لك `--baseline FILE` اعتماد `--fail-on` على مشروع قائم دون جدار من
النتائج الموجودة مسبقًا التي تعيق كل بناء. شغّل مرة واحدة باستخدام `--update-baseline` لالتقاط
نتائج اليوم، ثم قم بتثبيت ملف خط الأساس؛ ومنذ ذلك الحين، يقتصر `--fail-on` فقط على
النتائج غير الموجودة بالفعل في خط الأساس:```bash
# Snapshot current findings (does not gate)
docksec -i myapp:latest --image-only --baseline .docksec-baseline.json --update-baseline

# Later runs only fail on NEW findings above the threshold
docksec -i myapp:latest --image-only --baseline .docksec-baseline.json --fail-on high

يتم مطابقة النتائج حسب معرّف الثغرة والهدف واسم الحزمة، لذا تبقى خط الأساس صالحة مع ظهور واختفاء نتائج غير ذات صلة. أعد التشغيل باستخدام --update-baseline متى أردت قبول الحالة الحالية كخط أساس جديد.

تجاهل النتائج (الإعفاءات)

--ignore-file FILE يقوم بكتم النتائج الفردية التي قام الفريق بمراجعتها وقبولها. على عكس خط الأساس (لقطة زمنية لحظة معينة)، فإن ملف الإهمال هو قائمة صريحة وقابلة للمراجعة حيث يحمل كل إدخال سببًا وتاريخ انتهاء اختياريًا. إذا كان ملف .docksec-ignore.yml موجودًا في الدليل الحالي، فسيتم التقاطه تلقائيًا.```yaml

.docksec-ignore.yml

ignores:

  • id: CVE-2023-45853 # Trivy vulnerability ID or DockSec rule ID reason: "zlib CVE; code path not reachable, vendor fix pending" expires: 2026-12-31 # optional; entry stops applying after this date
  • id: compose-missing-healthcheck reason: "healthchecks are handled by the orchestrator"
root@kitploit:~
يتم إزالة النتائج المثبَّطة قبل التقييم والتقارير ومخرجات `--json` وبوابة `--fail-on`. تتوقف الإدخالات المنتهية صلاحيتها عن التطبيق تلقائيًا (مع تحذير)، ويتم وضع علامة على الإدخالات التي لا تحتوي على سبب لتبقى التنازلات قابلة للتدقيق. قم بتثبيت الملف في نظام التحكم بالإصدارات بحيث تتم مراجعة التثبيطات مثل أي تغيير آخر.

---

## التقارير

### صيغ التقارير

بشكل افتراضي، يكتب كل فحص أربعة ملفات تقارير؛ استخدم `--format` لاختيار مجموعة فرعية:

- **html**: تقرير ويب تفاعلي ونظيف بصريًا: بطاقات الخطورة، تقييم النتيجة، جدول الثغرات الكامل مع الإصدارات المُصلَّحة، ونتائج الذكاء الاصطناعي الكاملة.
- **pdf**: مستند محمول وجاهز للعرض التقديمي.
- **json**: بيانات فحص كاملة قابلة للقراءة آليًا (بنفس شكل مخرجات `--json` القياسية).
- **csv**: جدول جاهز لجداول البيانات للثغرات الفردية.

> ملاحظة حول سلوك CSV: مع وجود صفر ثغرات، لا يزال DockSec يكتب ملف CSV يحتوي على رؤوس الأعمدة فقط (أسماء الأعمدة، بدون صفوف) بحيث لا تتعطل الأتمتة اللاحقة أبدًا بسبب ملف مفقود أو فارغ. هذا مقصود.

### قائمة مكونات البرامج CycloneDX

يكتب `--sbom` قائمة مكونات برمجية بصيغة CycloneDX (`<image>.cdx.json`) للصورة المفحوصة، مع سرد كل مكوّن حزمة بالإضافة إلى الثغرات المعروفة. يتم إنتاج قائمة المكونات بواسطة المُصدِّر الأصلي لـ Trivy (لذا فهي متوافقة مع المواصفات)، ويقوم DockSec بإدراج نفسه في بيانات وصف الأداة. قم بإدخالها في Dependency-Track أو الرسم البياني للتبعيات في GitHub أو أي مستهلك آخر لقوائم المكونات البرمجية:```bash
docksec --image-only -i myapp:latest --sbom

--sbom يتطلب صورة واحدة (-i)، لذلك يتم تخطيه في عمليات التشغيل عبر compose. مثل --sarif، فهو مستقل عن --format.


تدفق البيانات والخصوصية

تم تصميم DockSec بحيث تعرف دائمًا ما يغادر جهازك:

  • الفحص محلي بالكامل. تعمل Trivy وHadolint ودرجة الأمان على جهازك. لا يتم رفع محتويات الصور إلى أي مكان بواسطة DockSec.
  • تحليل الذكاء الاصطناعي يرسل الملف المفحوص فقط. عند تشغيل مرحلة الذكاء الاصطناعي، يتم إرسال محتوى Dockerfile أو ملف compose (بالإضافة إلى ملخص قصير لعدد الثغرات للتقييم) إلى مزود LLM الذي قمت بتكوينه. لا يتم نقل أي شيء آخر.
  • يتم تنقيح الأسرار قبل مغادرتها. يتم إخفاء القيم التي تشبه الأسرار (كلمات المرور، الرموز، مفاتيح API، كتل المفاتيح الخاصة) في الملف قبل إرسال المحتوى إلى مزود الذكاء الاصطناعي. تبقى أسماء المفاتيح مرئية بحيث لا تزال البيانات المكشوفة يتم الإبلاغ عنها. استخدم --no-redact لإلغاء الاشتراك.
  • يدعم الذكاء الاصطناعي المحلي بالكامل. استخدم --provider ollama لإبقاء تحليل الذكاء الاصطناعي على أجهزتك الخاصة، أو --scan-only / --offline لتخطي الذكاء الاصطناعي تمامًا.
  • لا يوجد تتبع. لا يجمع DockSec أي بيانات استخدام ولا يتصل بأي خادم.

وضع عدم الاتصال

--offline يقوم بتشغيل فحص بدون وصول إلى الشبكة. يستخدم قاعدة بيانات ثغرات Trivy الموجودة بالفعل على القرص (بدون تحديث قاعدة البيانات) ويتخطى تحليل الذكاء الاصطناعي وفحص Docker Scout المتقدم، وكلاهما يتطلب شبكة. هذه هي أبسط طريقة للفحص في بيئة معزولة أو مقيدة:```bash docksec --image-only -i myapp:latest --offline

root@kitploit:~
تأكد من تنزيل قاعدة بيانات Trivy مرة واحدة على الأقل (أي فحص سابق عبر الإنترنت يقوم بذلك) قبل الاعتماد على `--offline`.

### ذاكرة التخزين المؤقت لنتائج الفحص

يتم تخزين نتائج فحص الصور مؤقتًا (الافتراضي: 24 ساعة، يمكن تجاوزه باستخدام
`DOCKSEC_CACHE_TTL_HOURS`) ويتم ربطها بـ digest محتوى الصورة، لذا فإن أي علامة معاد بناؤها
مثل `:latest` المعاد استخدامها تحصل دائمًا على فحص جديد. استخدم `--no-cache` (أو
`DOCKSEC_USE_CACHE=false`) لتجاوز ذاكرة التخزين المؤقت لجولة فحص واحدة.

---

## مهارات مساعد الذكاء الاصطناعي (`install-skill`)

يكتب `docksec install-skill` تعليمات استخدام DockSec في ملفات السياق المعروفة
لمساعدي البرمجة بالذكاء الاصطناعي الشائعين، بحيث يعرف المساعد الذي يعمل في مستودعك كيفية
استدعاء DockSec:```bash
docksec install-skill

هذا يُنشئ أو يُحدّث:

  • .claude/commands/docksec.md (أمر Claude Code /docksec)
  • .cursor/rules/docksec.mdc (Cursor)
  • AGENTS.md (Codex CLI)، GEMINI.md (Gemini CLI)
  • .github/copilot-instructions.md (GitHub Copilot)

الملفات هي نص عادي يمكنك مراجعته وتثبيته؛ لا يتم تنفيذ أي شيء. إعادة تشغيل الأمر تُحدّث قسم DockSec في مكانه بدلاً من تكراره.


الميزات

  • تحليل ذكي: يشرح الذكاء الاصطناعي معنى الثغرات لإعدادك الخاص.
  • دعم نماذج LLM متعددة: OpenAI، Anthropic Claude، Google Gemini، أو نماذج محلية عبر Ollama.
  • الخصوصية أولاً: يتم إخفاء القيم السرية قبل وصول أي محتوى إلى مزوّد الذكاء الاصطناعي، والفحص محلي بالكامل، ولا يوجد أي تتبع عن بُعد.
  • فحص Docker Compose: اكتشاف أخطاء الإعداد على مستوى التنسيق وفحص جميع الخدمات في ملف compose.
  • تكامل عميق: يجمع بين Trivy (الثغرات)، Hadolint (فحص الأكواد)، وDocker Scout.
  • تقييم أمني: درجة من 0-100 مع تصنيف لتتبع وضعك الأمني بمرور الوقت.
  • تنسيقات غنية: HTML (تفاعلي)، PDF، JSON، CSV، SARIF، وCycloneDX SBOM.
  • جاهز للـ CI/CD: أكواد خروج --fail-on، وضع خط الأساس/الترس، إعفاءات قابلة للتدقيق، JSON إلى stdout، وإجراء GitHub Action في السوق.
  • وضع عدم الاتصال: فحص معزول تماماً (--offline) باستخدام قاعدة بيانات Trivy المحلية.
  • مهارات المساعد الذكي: docksec install-skill يعلّم Claude Code، Cursor، Copilot، وغيرهم كيفية تشغيل DockSec في مستودعك.

مقارنة DockSec

الإمكانيةDockSecTrivy (مستقل)Snyk ContainerAikido
الترخيص والتكلفةمجاني، مفتوح المصدر (MIT)مجاني، مفتوح المصدر (Apache 2.0)تجاري (طبقة مجانية محدودة)تجاري (طبقة مجانية محدودة)
الحوكمةمشروع OWASP Lab، محايد للموردينمفتوح المصدر، تُديره Aquaمورد واحدمورد واحد
اكتشاف CVEs وأخطاء إعداد Dockerfileنعمنعمنعمنعم
شرح النتائج بلغة إنجليزية بسيطةنعم (سياق وتأثير مكتوبان بالذكاء الاصطناعي)لا (بيانات CVE خام)جزئي (خطورة وتلميحات إصلاح)جزئي (ملخصات ذكاء اصطناعي في المنصة)
إصلاح سياقي لـ Dockerfileنعم (إعادة كتابة محددة مع شرح)لا (اكتشاف فقط)نعم (نصيحة ترقية الصورة الأساسية، إصلاح PRs)نعم (إصلاحات AI AutoFix PRs)
فحص Docker Compose (متعدد الخدمات)نعم (فحوصات تنسيق وفحص لكل خدمة)جزئي (فحص إعداد، بدون توزيع لكل خدمة)جزئيجزئي
وضع خط الأساس/الترس (الفشل فقط على النتائج الجديدة)نعملاجزئي (سياسات المنصة)جزئي (سياسات المنصة)
إعفاءات قابلة للتدقيق لكل نتيجة مع أسباب وانتهاءنعمجزئي (.trivyignore، بدون أسباب مفروضة)جزئي (سياسات المنصة)جزئي (سياسات المنصة)
إخراج أصلي للـ CI (SARIF لفحص أكواد GitHub)نعمنعمنعمنعم
تصدير SBOM (CycloneDX)نعم (--sbom)نعمنعمنعم
تثبيت مهارة المساعد الذكي (Claude Code، Cursor، Copilot)نعم (install-skill)لالالا
يعمل دون اتصال / معزول تماماًنعم (LLM محلي عبر Ollama، وضع فحص فقط، بدون مفتاح API)فحص فقط (بدون طبقة إصلاح)لا (منصة سحابية)لا (منصة مستضافة)
تبقى بيانات صورك على شبكتكنعمنعملالا
أحضر نموذج LLM الخاص بك / اختيار النموذجنعم (OpenAI، Anthropic، Gemini، أو Ollama محلي)غير قابل للتطبيقلا (ذكاء اصطناعي مملوك)لا (ذكاء اصطناعي مملوك)
قابل للاستضافة الذاتية، بدون نشر منصةنعمنعم

DockSec هو الوحيد بين هذه الأدوات الذي يجمع بين الإصلاح السياقي لـ Dockerfile وتصميم مفتوح المصدر بالكامل، تحت حوكمة OWASP، وقابل للتشغيل محلياً. تقدم Snyk وAikido إصلاحاً بالذكاء الاصطناعي قادراً، لكن فقط كمنصات سحابية تجارية ترسل بياناتك إلى خدمتها. Trivy مفتوح المصدر ومحلي لكنه يتوقف عند الاكتشاف ولا يساعدك في إصلاح أي شيء. يسد DockSec الفجوة للمطورين وللفرق الخاضعة للتنظيم أو المعزولة التي تحتاج إلى كل من إرشادات الإصلاح والتحكم الكامل في بياناتها، دون أي تكلفة.


خارطة الطريق

راجع ROADMAP.md لمعرفة اتجاه DockSec: فحص السجلات بدون داemon Docker محلي، ملف تكوين سياسة على مستوى المستودع، قوالب Jenkins/GitLab/Azure DevOps، صورة حاوية رسمية، فحص Kubernetes وHelm، والمزيد. الملاحظات والأصوات على الأولويات مرحب بها في القضايا وعلى OWASP Slack.


المساهمة

يزدهر DockSec بفضل مساهمات المجتمع. سواء كنت مطوراً أو مصمماً أو متحمساً للأمن، هناك طرق عديدة للمشاركة:

  • المساهمات البرمجية: إصلاح الأخطاء أو إضافة ميزات جديدة.
  • التوثيق: تحسين الأدلة أو إنشاء دروس تعليمية.
  • الإبلاغ عن القضايا: تحديد الأخطاء والإبلاغ عنها.
  • الملاحظات: مشاركة تجربتك واقتراحاتك.

للبدء، راجع إرشادات المساهمة، مدونة قواعد السلوك، ودليل الرعاية.


القادة والمجتمع

يقود DockSec فريق مخصص ملتزم بجعل أمن الحاويات في متناول الجميع:

  • Advait Patel - قائد المشروع
  • Arkadii Yakovets - قائد مشارك للمشروع

تجدنا هنا:

  • صفحة مشروع OWASP: owasp.org/DockSec/
  • OWASP Slack: #project-docksec
  • PyPI: pypi.org/project/docksec/
  • القضايا: الإبلاغ عن خطأ
  • سجل التغييرات: CHANGELOG.md

إذا كان DockSec مفيداً لك، قم بتمييز المستودع بنجمة لمساعدة الآخرين على اكتشافه.
بُني بواسطة Advait Patel ومجتمع OWASP.
تنزيل الأداة
لا
لا
تقييد الموردلا يوجدلا يوجدنعمنعم
درجة أمنية (0-100) وتقارير متعددة التنسيقاتنعمجزئي (تنسيقات آلية، بدون تقرير إصلاح)جزئي (تقارير لوحة التحكم)جزئي (تقارير لوحة التحكم)