
AI-संचालित Docker सुरक्षा स्कैनर जो कमजोरियों को सरल अंग्रेजी में समझाता है। एक OWASP लैब प्रोजेक्ट।

AI-संचालित Docker सुरक्षा स्कैनर जो कमजोरियों को सरल अंग्रेजी में समझाता है
DockSec एक OWASP लैब प्रोजेक्ट है जो जटिल सुरक्षा स्कैन परिणामों और डेवलपर के लिए कार्रवाई योग्य सुधारों के बीच की खाई को पाटता है। यह उद्योग-मानक स्कैनरों (Trivy, Hadolint, Docker Scout) को AI के साथ एकीकृत करके संदर्भ-जागरूक सुरक्षा विश्लेषण प्रदान करता है।
आपको 200+ CVEs की सूची से अभिभूत करने के बजाय, DockSec:
सब कुछ स्थानीय रूप से स्कैन होता है; आपकी मशीन से केवल वह (गोपनीय-हटाई गई) फ़ाइल सामग्री बाहर जाती है जो आपके चुने हुए AI प्रदाता को भेजी जाती है - और स्थानीय मॉडल या केवल-स्कैन मोड के साथ, कुछ भी बाहर नहीं जाता है। देखें डेटा प्रवाह और गोपनीयता।
DockSec कार्यप्रवाह: स्कैनिंग से कार्रवाई योग्य अंतर्दृष्टि तक
DockSec चार-चरणीय पाइपलाइन का पालन करता है:
DockSec स्थानीय स्कैनरों को व्यवस्थित करता है, इसलिए इसे चाहिए:
| आवश्यकता | किस लिए | स्थापना |
|---|---|---|
| Python 3.12+ | DockSec स्वयं | python.org |
| Trivy | सभी स्कैन (आवश्यक) | brew install trivy या Trivy दस्तावेज़ |
| Hadolint | Dockerfile लिंटिंग | brew install hadolint या Hadolint दस्तावेज़ |
| Docker | इमेज स्कैन (-i) | Docker दस्तावेज़ |
या DockSec को अपने लिए Trivy और Hadolint इंस्टॉल करने दें:```bash python -m docksec.setup_external_tools
### 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
स्थानीय स्कैनिंग के लिए किसी API key की आवश्यकता नहीं है:```bash docksec Dockerfile --scan-only
प्रत्येक स्कैन एक परिणाम सारांश के साथ समाप्त होता है: एक गंभीरता तालिका, एक 0-100 सुरक्षा स्कोर, जिसके साथ एक
रेटिंग, एक "Quick take" एक्शन ब्लॉक, जनरेट की गई रिपोर्टें (डिफ़ॉल्ट रूप से
`~/.docksec/results/` में सहेजी गई), और एक सुझाया गया अगला कमांड।
### 4. AI विश्लेषण सक्षम करें
AI विश्लेषण निष्कर्षों की व्याख्या करता है और सुधार सुझाता है। कोई प्रदाता चुनें, उसकी 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
किसी भी सामग्री को AI प्रदाता को भेजने से पहले, गुप्त दिखने वाले मान (पासवर्ड, टोकन, 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 }}
docksec Dockerfile -i myapp:latest
docksec --compose docker-compose.yml
docksec --image-only -i myapp:latest
docksec Dockerfile --scan-only
docksec -i myapp:latest --image-only --severity CRITICAL,HIGH,MEDIUM
docksec -i myapp:latest --image-only --fail-on high
docksec Dockerfile --scan-only --format json,html --output-dir ./reports
docksec -i myapp:latest --image-only --json
docksec Dockerfile --scan-only --sarif
docksec --image-only -i myapp:latest --sbom
docksec --image-only -i myapp:latest --offline
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
docksec -i myapp:latest --image-only --ignore-file .docksec-ignore.yml
docksec -i myapp:latest --image-only --no-cache
docksec install-skill
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
---
## कॉन्फ़िगरेशन फ़ाइल
अपने रिपॉज़िटरी के रूट में एक `.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
इसलिए एक commit की गई `severity: LOW` अभी भी कमांड लाइन पर `--severity CRITICAL`
द्वारा, और पर्यावरण में `DOCKSEC_DEFAULT_SEVERITY` द्वारा अधिलिखित हो जाती है।
### खोज
DockSec कार्यशील निर्देशिका में `.docksec.yml` (या `.docksec.yaml`) की तलाश करता है
और फिर रिपॉजिटरी रूट तक ऊपर जाता है, इसलिए एक monorepo उपनिर्देशिका में सेवा
शीर्ष स्तर पर commit की गई नीति प्राप्त करती है। खोज उस निर्देशिका पर रुक जाती है
जिसमें `.git` होता है, इसलिए यह कभी भी रिपॉजिटरी के बाहर से कोई फ़ाइल
नहीं उठाता।
- `--config FILE` खोजने के बजाय एक विशिष्ट फ़ाइल का उपयोग करता है।
- `--no-config` प्रतिलिपि योग्य CI चलाने हेतु किसी भी config फ़ाइल को अनदेखा करता है।
प्रभावी config फ़ाइल स्कैन बैनर में दिखाई जाती है, इसलिए यह हमेशा स्पष्ट रहता है
कि कौन सी नीति लागू की गई थी।
### सेटिंग्स
| सेटिंग | समतुल्य फ़्लैग | नोट्स |
| --- | --- | --- |
| `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` | कोई नेटवर्क नहीं; AI और Docker Scout को छोड़ देता है |
| `skip_ai_scoring` | `--skip-ai-scoring` | केवल स्थानीय स्कोरिंग |
| `no_redact` | `--no-redact` | AI कॉल से पहले रहस्यों को मास्क न करें |
| `no_cache` | `--no-cache` | स्कैन कैश को बायपास करें |
| `ignore_file` | `--ignore-file` | छूट फ़ाइल का पथ |
| `baseline` | `--baseline` | बेसलाइन फ़ाइल का पथ |
| `rules.disabled` | - | पूरी तरह बंद करने के लिए नियम आईडी |
एक अमान्य config फ़ाइल - एक अज्ञात कुंजी, एक गलत गंभीरता - एक गंभीर त्रुटि है जो
चेतावनी के बजाय `2` कोड के साथ समाप्त होती है, इसलिए एक टूटी हुई नीति फ़ाइल कभी भी स्कैन को
उन नियमों के अंतर्गत नहीं चला सकती जिन्हें टीम ने commit नहीं किया है।
### संपादक ऑटोकम्प्लीट
पहली पंक्ति पर `# 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` गेट से पहले हटा दिया जाता है। इसका उपयोग उन जाँचों के लिए करें
जो आपके वातावरण पर लागू नहीं होतीं। व्यक्तिगत निष्कर्षों के लिए जिन्हें आपकी टीम ने
ट्राइएज करके स्वीकार कर लिया है, [waiver फ़ाइल](#ignoring-findings-waivers) को प्राथमिकता दें,
जिसकी प्रविष्टियाँ एक कारण और एक समाप्ति तिथि रखती हैं और इसलिए ऑडिट योग्य रहती हैं।
---
## CI/CD एकीकरण
### एग्ज़िट कोड
DockSec CI-अनुकूल एग्ज़िट कोड का उपयोग करता है ताकि बिल्ड और शेल परिणामों पर प्रतिक्रिया कर सकें:
| कोड | अर्थ |
| --- | --- |
| `0` | सफलता, `--fail-on` पर या उससे ऊपर कोई निष्कर्ष नहीं |
| `1` | `--fail-on` सीमा पर या उससे ऊपर के निष्कर्ष |
| `2` | उपयोग या तर्क त्रुटि |
| `3` | उपकरण या रनटाइम त्रुटि (स्कैन विफल, इमेज नहीं मिली, उपकरण अनुपस्थित) |
`--fail-on` संरचित निष्कर्षों (इमेज कमजोरियाँ और compose गलत कॉन्फ़िगरेशन) पर गेट लगाता है।
जब `--fail-on` अनुरोधित `--severity` से नीचे होता है, तो स्कैन की गंभीरता
स्वचालित रूप से विस्तृत हो जाती है ताकि गेट उन निष्कर्षों को देख सके।
### मशीन-पठनीय आउटपुट
`--json` मानव-पठनीय सारांश के बजाय stdout पर एक एकल JSON ऑब्जेक्ट प्रिंट करता है (स्कैन जानकारी, कमजोरियाँ, गंभीरता
गणनाएँ, और कोई भी AI निष्कर्ष) ताकि इसे सीधे अन्य उपकरणों में
पाइप किया जा सके:```bash
docksec -i myapp:latest --image-only --json | jq '.severity_counts'
अकेले --json के साथ, कोई रिपोर्ट फ़ाइल नहीं लिखी जाती; इसे --format के साथ संयोजित करें ताकि
फ़ाइलें लिखें और उसी रन में JSON प्रिंट करें। --json मोड में सभी मानव-पठनीय संदेश stderr पर
चले जाते हैं, इसलिए stdout में केवल JSON पेलोड ही होता है।
--sarif अन्य रिपोर्ट प्रारूपों के साथ एक SARIF 2.1.0 रिपोर्ट लिखता है। इसे
मानक github/codeql-action/upload-sarif एक्शन के साथ अपलोड करें ताकि निष्कर्ष सीधे
पुल रिक्वेस्ट पर और Security टैब में एनोटेटेड दिखें:```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
> `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
निष्कर्षों का मिलान भेद्यता ID, लक्ष्य और पैकेज नाम से किया जाता है, इसलिए बेसलाइन
तब भी मान्य बनी रहती है जब असंबंधित निष्कर्ष आते-जाते रहते हैं। जब भी आप
वर्तमान स्थिति को नई बेसलाइन के रूप में स्वीकार करना चाहें, --update-baseline के साथ इसे दोबारा चलाएँ।
--ignore-file FILE उन व्यक्तिगत निष्कर्षों को दबाता है जिन्हें किसी टीम ने जाँच-परख कर स्वीकार किया है।
बेसलाइन (एक समय-बिंदु स्नैपशॉट) के विपरीत, इग्नोर फ़ाइल एक स्पष्ट, समीक्षा-योग्य सूची है
जिसमें हर प्रविष्टि में एक कारण और एक वैकल्पिक समाप्ति तिथि होती है।
यदि वर्तमान निर्देशिका में .docksec-ignore.yml फ़ाइल मौजूद है, तो यह स्वचालित रूप से
लोड हो जाती है।```yaml
ignores:
सप्रेस किए गए निष्कर्षों को स्कोरिंग, रिपोर्ट्स, `--json` आउटपुट और
`--fail-on` गेट से पहले हटा दिया जाता है। एक्सपायर्ड प्रविष्टियाँ स्वचालित रूप से लागू होना बंद कर देती हैं (चेतावनी के साथ), और
बिना कारण वाली प्रविष्टियों को चिह्नित किया जाता है ताकि छूटें ऑडिट योग्य बनी रहें। फ़ाइल को संस्करण नियंत्रण में कमिट करें
ताकि सप्रेसन की समीक्षा किसी भी अन्य बदलाव की तरह हो।
---
## रिपोर्ट्स
### रिपोर्ट फ़ॉर्मेट
डिफ़ॉल्ट रूप से हर स्कैन चार रिपोर्ट फ़ाइलें लिखता है; सबसेट चुनने के लिए `--format` का उपयोग करें:
- **html**: एक इंटरैक्टिव, दृश्य रूप से स्वच्छ वेब रिपोर्ट: गंभीरता कार्ड, स्कोर रेटिंग, फिक्स किए गए संस्करणों के साथ पूर्ण भेद्यता तालिका, और संपूर्ण AI निष्कर्ष।
- **pdf**: एक पोर्टेबल, प्रस्तुति-तैयार दस्तावेज़।
- **json**: पूर्ण, मशीन-पठनीय स्कैन डेटा (`--json` stdout आउटपुट के समान आकार)।
- **csv**: व्यक्तिगत भेद्यताओं की एक स्प्रेडशीट-तैयार तालिका।
> CSV व्यवहार पर ध्यान दें: शून्य भेद्यता होने पर भी, DockSec केवल हेडर वाली CSV लिखता है
> (कॉलम नाम, कोई पंक्तियाँ नहीं) ताकि डाउनस्ट्रीम ऑटोमेशन कभी भी अनुपलब्ध या खाली फ़ाइल के कारण विफल न हो।
> यह जानबूझकर किया गया है।
### CycloneDX SBOM
`--sbom` स्कैन की गई इमेज का CycloneDX सॉफ़्टवेयर बिल ऑफ़ मटेरियल (`<image>.cdx.json`) लिखता है,
जिसमें हर पैकेज घटक और ज्ञात भेद्यताएँ सूचीबद्ध होती हैं। BOM को
Trivy के मूल एक्सपोर्टर द्वारा तैयार किया जाता है (इसलिए यह स्पेक-अनुरूप है) और DockSec स्वयं को
टूल मेटाडेटा में अंकित करता है। इसे Dependency-Track, GitHub के डिपेंडेंसी ग्राफ़, या किसी भी
अन्य SBOM कंज़्यूमर में फ़ीड करें:```bash
docksec --image-only -i myapp:latest --sbom
--sbom को एकल इमेज (-i) की आवश्यकता होती है, इसलिए इसे compose runs के लिए छोड़ दिया जाता है। --sarif की तरह, यह --format से स्वतंत्र है।
DockSec को इस तरह डिज़ाइन किया गया है कि आपको हमेशा पता रहे कि आपकी मशीन से क्या बाहर जाता है:
--no-redact का उपयोग करें।--provider ollama उपयोग करें, या AI को पूरी तरह छोड़ने के लिए --scan-only / --offline उपयोग करें।--offline बिना किसी नेटवर्क एक्सेस के स्कैन चलाता है। यह पहले से डिस्क पर मौजूद Trivy vulnerability डेटाबेस का उपयोग करता है (कोई DB अपडेट नहीं) और AI विश्लेषण तथा Docker Scout advanced स्कैन को छोड़ देता है, दोनों को नेटवर्क की आवश्यकता होती है। यह एयर-गैप्ड या locked-down वातावरण में स्कैन करने का सबसे सरल तरीका है:```bash
docksec --image-only -i myapp:latest --offline
सुनिश्चित करें कि Trivy DB कम से कम एक बार डाउनलोड हो चुका है (कोई भी पिछला ऑनलाइन स्कैन ऐसा करता है) `--offline` पर निर्भर होने से पहले।
### स्कैन परिणाम कैश
इमेज स्कैन परिणाम कैश किए जाते हैं (डिफ़ॉल्ट: 24 घंटे, `DOCKSEC_CACHE_TTL_HOURS` से ओवरराइड करें) और इमेज के कंटेंट डाइजेस्ट के आधार पर कुंजीबद्ध होते हैं, जिससे पुनः निर्मित टैग जैसे पुनः उपयोग किया गया `:latest` हमेशा ताज़ा स्कैन पाता है। एक रन के लिए कैश को बायपास करने हेतु `--no-cache` (या `DOCKSEC_USE_CACHE=false`) का उपयोग करें।
---
## AI-असिस्टेंट स्किल्स (`install-skill`)
`docksec install-skill` DockSec उपयोग निर्देशों को लोकप्रिय AI कोडिंग असिस्टेंट के जाने-माने कॉन्टेक्स्ट फ़ाइलों में लिखता है, ताकि आपके रिपो में काम करने वाला असिस्टेंट जान सके कि 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 अनुभाग को डुप्लिकेट करने के बजाय उसी स्थान पर अद्यतन किया जाता है।
--fail-on एग्ज़िट कोड, बेसलाइन/रैचेट मोड, ऑडिट करने योग्य छूट, JSON-to-stdout, और Marketplace पर एक GitHub Action।--offline) स्कैन करें।docksec install-skill Claude Code, Cursor, Copilot, और अन्य को सिखाता है कि आपके रिपो में DockSec कैसे चलाएँ।| क्षमता | DockSec | Trivy (स्टैंडअलोन) | Snyk Container | Aikido |
|---|---|---|---|---|
| लाइसेंस और लागत | मुफ़्त, ओपन सोर्स (MIT) | मुफ़्त, ओपन सोर्स (Apache 2.0) | व्यावसायिक (सीमित मुफ़्त टियर) | व्यावसायिक (सीमित मुफ़्त टियर) |
| शासन | OWASP लैब प्रोजेक्ट, विक्रेता-तटस्थ | ओपन सोर्स, Aqua द्वारा अनुरक्षित | एकल विक्रेता | एकल विक्रेता |
| CVE और Dockerfile गलत कॉन्फ़िगरेशन का पता लगाता है | हाँ | हाँ | हाँ | हाँ |
| निष्कर्षों को सरल अंग्रेज़ी में समझाता है | हाँ (AI-लिखित संदर्भ और प्रभाव) | नहीं (कच्चा CVE डेटा) | आंशिक (गंभीरता और सुधार संकेत) | आंशिक (प्लेटफ़ॉर्म में AI सारांश) |
| संदर्भित Dockerfile सुधार | हाँ (स्पष्टीकरण के साथ विशिष्ट पुनर्लेखन) | नहीं (केवल पहचान) | हाँ (बेस इमेज अपग्रेड सलाह, फ़िक्स PR) | हाँ (AI AutoFix PR) |
| Docker Compose (मल्टी-सर्विस) स्कैनिंग | हाँ (ऑर्केस्ट्रेशन जाँच और प्रति-सेवा स्कैन) | आंशिक (कॉन्फ़िग स्कैन, कोई प्रति-सेवा फैन-आउट नहीं) | आंशिक | आंशिक |
| बेसलाइन / रैचेट मोड (केवल नए निष्कर्षों पर विफल) | हाँ | नहीं | आंशिक (प्लेटफ़ॉर्म नीतियाँ) | आंशिक (प्लेटफ़ॉर्म नीतियाँ) |
| कारणों और समाप्ति के साथ ऑडिट करने योग्य प्रति-निष्कर्ष छूट | हाँ | आंशिक (.trivyignore, कोई कारण लागू नहीं) | आंशिक (प्लेटफ़ॉर्म नीतियाँ) | आंशिक (प्लेटफ़ॉर्म नीतियाँ) |
| CI-मूल आउटपुट (GitHub Code Scanning के लिए SARIF) | हाँ | हाँ | हाँ | हाँ |
| SBOM निर्यात (CycloneDX) | हाँ (--sbom) | हाँ | हाँ | हाँ |
| AI-सहायक कौशल स्थापना (Claude Code, Cursor, Copilot) | हाँ (install-skill) | नहीं | नहीं | नहीं |
| पूरी तरह ऑफ़लाइन / एयर-गैप्ड चलता है | हाँ (Ollama के माध्यम से स्थानीय LLM, केवल-स्कैन मोड, कोई API कुंजी नहीं) | केवल स्कैनिंग (कोई सुधार परत नहीं) | नहीं (क्लाउड प्लेटफ़ॉर्म) | नहीं (होस्टेड प्लेटफ़ॉर्म) |
| आपका इमेज डेटा आपके नेटवर्क पर रहता है | हाँ | हाँ | नहीं | नहीं |
| अपना खुद का LLM / मॉडल विकल्प लाएँ | हाँ (OpenAI, Anthropic, Gemini, या स्थानीय Ollama) | लागू नहीं | नहीं (मालिकाना AI) |
DockSec इनमें से एकमात्र ऐसा उपकरण है जो संदर्भित Dockerfile सुधार को पूरी तरह ओपन सोर्स, OWASP-शासित, स्थानीय रूप से चलाने योग्य डिज़ाइन के साथ जोड़ता है। Snyk और Aikido सक्षम AI सुधार प्रदान करते हैं, लेकिन केवल व्यावसायिक क्लाउड प्लेटफ़ॉर्म के रूप में जो आपका डेटा उनकी सेवा में भेजते हैं। Trivy ओपन सोर्स और स्थानीय है, लेकिन यह पहचान पर ही रुक जाता है और किसी भी चीज़ को ठीक करने में आपकी मदद नहीं करता। DockSec उन डेवलपर्स और विनियमित या एयर-गैप्ड टीमों के लिए अंतर को भरता है जिन्हें सुधार मार्गदर्शन और उनके डेटा पर पूर्ण नियंत्रण दोनों की आवश्यकता होती है, बिना किसी लागत के।
DockSec किस दिशा में आगे बढ़ रहा है, यह देखने के लिए ROADMAP.md देखें: स्थानीय Docker डेमन के बिना रजिस्ट्री स्कैनिंग, एक रिपो-स्तरीय नीति कॉन्फ़िग फ़ाइल, Jenkins/GitLab/Azure DevOps टेम्पलेट, एक आधिकारिक कंटेनर इमेज, Kubernetes और Helm स्कैनिंग, और बहुत कुछ। प्राथमिकताओं पर प्रतिक्रिया और वोटों का issues में और OWASP Slack पर स्वागत है।
DockSec सामुदायिक योगदानों से फलता-फूलता है। चाहे आप डेवलपर हों, डिज़ाइनर हों, या सुरक्षा उत्साही हों, इसमें शामिल होने के कई तरीके हैं:
आरंभ करने के लिए, हमारे Contributing Guidelines, Code of Conduct, और Sponsorship Guide देखें।
DockSec का नेतृत्व एक समर्पित टीम करती है जो कंटेनर सुरक्षा को सुलभ बनाने के लिए प्रतिबद्ध है:
हमें यहाँ खोजें:
| नहीं (मालिकाना AI) |
| स्व-होस्ट करने योग्य, कोई प्लेटफ़ॉर्म तैनाती नहीं | हाँ | हाँ | नहीं | नहीं |
| विक्रेता लॉक-इन | कोई नहीं | कोई नहीं | हाँ | हाँ |
| सुरक्षा स्कोर (0-100) और बहु-प्रारूप रिपोर्ट | हाँ | आंशिक (मशीन प्रारूप, कोई सुधार रिपोर्ट नहीं) | आंशिक (डैशबोर्ड रिपोर्ट) | आंशिक (डैशबोर्ड रिपोर्ट) |