
dockerscan v2.1.0
सबसे व्यापक डॉकर सुरक्षा स्कैनर
DockerScan v2.0
सबसे व्यापक डॉकर सुरक्षा स्कैनर
द्वारा Daniel Garcia (cr0hn) | GitHub | वेबसाइट
विशेषताएँ • स्थापना • त्वरित आरंभ • दस्तावेज़ीकरण • उपयोग के मामले • नया क्या है • योगदान
📑 सामग्री तालिका
- अवलोकन
- विशेषताएँ
- v2.0 में नया क्या है
- स्थापना
- त्वरित आरंभ
- उपयोग
- सुरक्षा स्कैनर
- आउटपुट प्रारूप
- उपयोग के मामले
- तुलना
- आर्किटेक्चर
- योगदान
- संदर्भ
- लाइसेंस
- लेखक
🎯 अवलोकन
DockerScan v2.0 एक अगली पीढ़ी का सुरक्षा स्कैनर है जो Docker कंटेनरों और इमेजों के लिए है, जिसे पूरी तरह से Go में फिर से लिखा गया है। यह नवीनतम 2024-2025 शोध, उद्योग मानकों (CIS बेंचमार्क, NIST SP 800-190), और उत्पादन वातावरणों में पाए गए वास्तविक-दुनिया के हमले पैटर्न के आधार पर कई सुरक्षा स्कैनिंग तकनीकों को जोड़ता है।
DockerScan v2.0 क्यों?
- ✅ सबसे व्यापक: एक उपकरण में 5+ सुरक्षा स्कैनिंग तकनीकों को जोड़ता है
- ✅ नवीनतम शोध: 2024-2025 आपूर्ति श्रृंखला हमलों और CVEs पर आधारित
- ✅ उत्पादन के लिए तैयार: CI/CD के लिए SARIF आउटपुट, स्वचालन के लिए निकास कोड
- ✅ अत्यंत तेज़: समवर्ती स्कैनिंग के साथ Go में लिखा गया
- ✅ विस्तार योग्य: कस्टम स्कैनर के लिए प्लगइन आर्किटेक्चर
- ✅ निःशुल्क और ओपन सोर्स: BSD-3 लाइसेंस
🌟 विशेषताएँ
🛡️ सुरक्षा स्कैनिंग मॉड्यूल
1. CIS Docker बेंचमार्क v1.7.0
80+ स्वचालित नियंत्रणों के साथ पूर्ण अनुपालन जाँच:
- ✅ होस्ट कॉन्फ़िगरेशन सुरक्षा (13 जाँच)
- ✅ Docker डेमन हार्डनिंग (18 जाँच)
- ✅ फ़ाइल और निर्देशिका अनुमतियाँ (9 जाँच)
- ✅ कंटेनर इमेज सर्वोत्तम अभ्यास (13 जाँच)
- ✅ रनटाइम सुरक्षा सत्यापन (31+ जाँच)
- ✅ सुरक्षा संचालन अनुपालन
2. आपूर्ति श्रृंखला हमले का पता लगाना 🆕
2024 के वास्तविक हमले अभियानों पर आधारित:
- ✅ इमेजलेस कंटेनर का पता लगाना - बिना वास्तविक लेयर्स वाले दुर्भावनापूर्ण कंटेनरों की पहचान (Docker Hub पर 4M+ पाए गए)
- ✅ क्रिप्टोकरेंसी माइनर का पता लगाना - माइनिंग मैलवेयर का पता लगाना (120K+ दुर्भावनापूर्ण इमेज पुल डिटेक्ट)
- ✅ बैकडोर्ड लाइब्रेरी का पता लगाना - समझौता की गई निर्भरताओं को पकड़ना (xz-utils, liblzma घटनाएँ)
- ✅ इमेज सिग्नेचर सत्यापन - Notary/Cosign का उपयोग करके हस्ताक्षर सत्यापित करता है
- ✅ फ़िशिंग सामग्री का पता लगाना - सामाजिक इंजीनियरिंग के लिए दस्तावेज़ीकरण स्कैन करता है
- ✅ दुर्भावनापूर्ण नेटवर्क गंतव्य - C2 सर्वर, माइनिंग पूल, Tor नोड्स की पहचान करता है
3. उन्नत रहस्यों का पता लगाना 🔑
40+ रहस्य पैटर्न जिसमें आधुनिक API शामिल हैं (2024 अपडेट):
- ✅ क्लाउड प्रदाता: AWS, GCP, Azure क्रेडेंशियल्स
- ✅ संस्करण नियंत्रण: GitHub, GitLab, Bitbucket टोकन
- ✅ AI/ML API: OpenAI, Anthropic, Hugging Face कुंजियाँ
- ✅ भुगतान: Stripe, PayPal, Square कुंजियाँ
- ✅ संचार: Slack, SendGrid, Twilio, Mailchimp
- ✅ प्रमाणीकरण: JWT टोकन, OAuth टोकन
- ✅ क्रिप्टो: निजी कुंजियाँ (RSA, SSH, PGP, EC, DSA), प्रमाणपत्र
- ✅ डेटाबेस: PostgreSQL, MySQL, MongoDB कनेक्शन स्ट्रिंग्स
- ✅ Docker: रजिस्ट्री प्रमाणीकरण टोकन
- ✅ एंट्रॉपी विश्लेषण: अज्ञात रहस्यों के लिए Shannon एंट्रॉपी गणना (>4.5 थ्रेशोल्ड)
4. CVE और भेद्यता स्कैनिंग 🚨
महत्वपूर्ण 2024-2025 CVE का पता लगाना:
- ✅ CVE-2024-21626 - runc कंटेनर एस्केप (CVSS 8.6)
- ✅ CVE-2024-23651 - BuildKit कैश पॉइज़निंग RCE (CVSS 9.1)
- ✅ CVE-2024-23652 - BuildKit रेस कंडीशन (CVSS 7.5)
- ✅ CVE-2024-23653 - BuildKit विशेषाधिकार वृद्धि
- ✅ CVE-2024-8695/8696 - Docker Desktop RCE (CVSS 8.8)
- ✅ CVE-2025-9074 - Docker Desktop स्थानीय एक्सेस भेद्यता
- ✅ एंड-ऑफ-लाइफ़ बेस इमेज का पता लगाना
- ✅ ज्ञात संवेदनशील पैकेज स्कैनिंग
5. रनटाइम सुरक्षा विश्लेषण ⚙️
कंटेनर रनटाइम हार्डनिंग जाँच:
- ✅ लिनक्स क्षमताएँ ऑडिटिंग - खतरनाक क्षमताओं का पता लगाना (CAP_SYS_ADMIN, CAP_NET_ADMIN, आदि)
- ✅ Seccomp प्रोफ़ाइल सत्यापन - सुनिश्चित करता है कि सिस्टम कॉल फ़िल्टरिंग सक्षम है
- ✅ AppArmor/SELinux जाँच - अनिवार्य एक्सेस नियंत्रण सत्यापन
- ✅ विशेषाधिकार प्राप्त कंटेनर का पता लगाना - पूर्ण होस्ट एक्सेस वाले कंटेनरों की पहचान करता है
- ✅ नेमस्पेस अलगाव - PID, IPC, नेटवर्क, उपयोगकर्ता नेमस्पेस जाँच
- ✅ कंटेनर एस्केप संकेतक - सामान्य एस्केप तकनीकों का पता लगाता है
📊 रिपोर्टिंग और एकीकरण
- JSON - मशीन-पठनीय आउटपुट स्वचालन के लिए
- SARIF - मूल एकीकरण इसके साथ:
- GitHub सुरक्षा टैब
- Azure DevOps
- VS Code एक्सटेंशन
- GitLab सुरक्षा डैशबोर्ड
- सुंदर CLI - इमोजी के साथ रंग-कोडित गंभीरता स्तर
- निकास कोड - CI/CD अनुकूल (0=साफ, 1=चेतावनी, 2=गंभीर)
🚀 प्रदर्शन
- ⚡ Python विकल्पों से 10x तेज़
- 🔄 समवर्ती स्कैनिंग Go goroutines के साथ
- 💾 कम मेमोरी फुटप्रिंट (~50-100MB)
- 📦 एकल बाइनरी - कोई निर्भरता नहीं
🆕 v2.0 में नया क्या है?
DockerScan v2.0 एक पूर्ण पुनर्लेखन है। यहाँ v1.x से बदलाव हैं:
प्रमुख बदलाव
| Feature | v1.x (Python) | v2.0 (Go) |
|---|---|---|
| भाषा | Python 3.5+ | Go 1.21+ |
| प्रदर्शन | ~500 इमेज/घंटा | ~5000 इमेज/घंटा |
| मेमोरी उपयोग | 200-500 MB | 50-100 MB |
| वितरण | pip install + निर्भरताएँ | एकल बाइनरी |
| सुरक्षा स्कैनर | 2 मॉड्यूल | 5 मॉड्यूल |
| CIS बेंचमार्क | आंशिक | पूर्ण v1.7.0 (80+ जाँच) |
| आपूर्ति श्रृंखला | ❌ उपलब्ध नहीं | ✅ 2024 शोध पर आधारित |
| गुप्त पैटर्न | 10 पैटर्न | 40+ पैटर्न |
| CVE पता लगाना | बुनियादी | 2024-2025 CVEs |
| रनटाइम सुरक्षा | ❌ उपलब्ध नहीं | ✅ पूर्ण क्षमताएँ ऑडिट |
| SARIF आउटपुट | ❌ उपलब्ध नहीं | ✅ पूर्ण समर्थन |
| CI/CD एकीकरण | मैन्युअल | मूल (निकास कोड, SARIF) |
v1.x से संरक्षित क्या है
- ✅ आक्रामक उपकरण - इमेज ट्रोजनाइज़ेशन क्षमताएँ (v2.1 में जल्द आ रहा है)
- ✅ रजिस्ट्री संचालन - पुश, पुल, डिलीट संचालन (v2.1 में जल्द आ रहा है)
- ✅ नेटवर्क स्कैनिंग - Docker रजिस्ट्री खोज (v2.1 में जल्द आ रहा है)
v2.0.5 में नया 🔐
- 🔑 निजी रजिस्ट्री प्रमाणीकरण - निजी रजिस्ट्रियों से इमेज स्कैन करने के लिए पूर्ण समर्थन (fixes #24)
- 🌐 बहु-रजिस्ट्री समर्थन - Docker Hub, GHCR, ECR, GCR, ACR, GitLab, और स्व-होस्टेड रजिस्ट्रियाँ
- 🔐 एकाधिक प्रमाणीकरण विधियाँ - पर्यावरण चर (CI/CD), CLI फ़्लैग (परीक्षण), Docker कॉन्फ़िग फ़ाइल (निर्बाध)
- 🎯 स्मार्ट प्राथमिकता - CLI फ़्लैग > ENV वेरिएबल्स > Docker कॉन्फ़िग (स्वचालित चयन)
- 📝 उन्नत त्रुटि संदेश - रजिस्ट्री-विशिष्ट संकेत (ECR टोकन समाप्ति, दर सीमाएँ, प्रमाणपत्र)
- 🧪 व्यापक परीक्षण - 64 परीक्षण मामले, 91.2% कवरेज, वास्तविक निजी रजिस्ट्री के साथ परीक्षण किया गया
- 📚 पूर्ण दस्तावेज़ीकरण - सभी प्रमुख क्लाउड रजिस्ट्रियों और प्रमाणीकरण विधियों के लिए उदाहरण
v2.0.4 में नया
- 🗄️ CVE डेटाबेस एकीकरण - NVD डेटा के साथ स्थानीय SQLite डेटाबेस (2.5 वर्षों के CVEs)
- 🔄 दैनिक स्वचालित अपडेट - GitHub Action प्रतिदिन CVE डेटाबेस अपडेट करता है
- ⚡ समानांतर CVE डाउनलोड - तेज़ डेटाबेस निर्माण के लिए 4 वर्कर (nvd2sqlite)
- 🔁 बैकऑफ़ के साथ पुनर्प्रयास - दर-सीमित NVD API अनुरोधों के लिए स्वचालित पुनर्प्रयास
- 📦
--from-fileफ़्लैग - स्थानीय फ़ाइल से CVE डेटाबेस स्थापित करें (ऑफ़लाइन/एयर-गैप्ड) - 🔇 शांत मोड (
-q) - CI/CD पाइपलाइनों के लिए बैनर दबाएँ - 🧹 कम झूठी सकारात्मकताएँ - एंट्रॉपी फ़िल्टरिंग के साथ बेहतर गुप्त पता लगाना
पुनर्लेखन क्यों?
- प्रदर्शन - Go goroutines के साथ 10x तेज़ स्कैनिंग प्रदान करता है
- आधुनिक खतरे - 2024-2025 हमले पैटर्न शामिल करता है
- एंटरप्राइज़ के लिए तैयार - SARIF आउटपुट, निकास कोड, एकल बाइनरी वितरण
- विस्तार योग्यता - कस्टम स्कैनर के लिए साफ प्लगइन आर्किटेक्चर
- रखरखाव योग्यता - टाइप सुरक्षा, बेहतर त्रुटि प्रबंधन, योगदान देना आसान
📦 स्थापना
विकल्प 1: पूर्व-निर्मित बाइनरी डाउनलोड करें (अनुशंसित)
प्री-कंपाइल्ड बाइनरीज़ स्वचालित रूप से GitHub Actions के माध्यम से प्रत्येक संस्करण टैग के लिए बनाई और जारी की जाती हैं।
समर्थित प्लेटफ़ॉर्म:
- लिनक्स: amd64, arm64, 386
- macOS: amd64 (Intel), arm64 (Apple Silicon)
- विंडोज़: amd64, arm64, 386
- FreeBSD: amd64
लिनक्स (amd64)```bash
curl -L https://github.com/cr0hn/dockerscan/releases/latest/download/dockerscan-linux-amd64 -o dockerscan chmod +x dockerscan sudo mv dockerscan /usr/local/bin/
#### Linux (arm64)```bash
curl -L https://github.com/cr0hn/dockerscan/releases/latest/download/dockerscan-linux-arm64 -o dockerscan
chmod +x dockerscan
sudo mv dockerscan /usr/local/bin/
macOS (Intel)```bash
curl -L https://github.com/cr0hn/dockerscan/releases/latest/download/dockerscan-darwin-amd64 -o dockerscan chmod +x dockerscan sudo mv dockerscan /usr/local/bin/
#### macOS (Apple Silicon)```bash
curl -L https://github.com/cr0hn/dockerscan/releases/latest/download/dockerscan-darwin-arm64 -o dockerscan
chmod +x dockerscan
sudo mv dockerscan /usr/local/bin/
Windows (PowerShell)```powershell
Invoke-WebRequest -Uri "https://github.com/cr0hn/dockerscan/releases/latest/download/dockerscan-windows-amd64.exe" -OutFile "dockerscan.exe"
#### डाउनलोड सत्यापित करें (वैकल्पिक लेकिन अनुशंसित)```bash
# Download checksums
curl -L https://github.com/cr0hn/dockerscan/releases/latest/download/checksums.txt -o checksums.txt
# Verify (Linux/macOS)
sha256sum -c checksums.txt --ignore-missing
विकल्प 2: स्रोत से निर्माण करें```bash
Clone repository
git clone https://github.com/cr0hn/dockerscan cd dockerscan/dockerscan-v2
Build
make build
Install
sudo make install
Or build manually
go build -o bin/dockerscan ./cmd/dockerscan
### विकल्प 3: Go इंस्टॉल```bash
go install github.com/cr0hn/dockerscan/v2/cmd/dockerscan@latest
🚀 त्वरित प्रारंभ
पहली बार सेटअप
स्कैन करने से पहले, CVE डेटाबेस डाउनलोड करें (प्रतिदिन अपडेट, ~30MB संपीड़ित):```bash
Download latest CVE database from GitHub
dockerscan update-db
> **सुझाव**: डेटाबेस GitHub Actions के माध्यम से प्रतिदिन अपडेट किया जाता है। नवीनतम CVE डेटा प्राप्त करने के लिए समय-समय पर `update-db` चलाएँ।
### मूल स्कैन```bash
# Scan a Docker image
dockerscan nginx:latest
# Scan with specific scanners
dockerscan --scanners cis,secrets ubuntu:22.04
# Scan and save reports
dockerscan alpine:latest --output /tmp/reports
# Quiet mode (suppress banner)
dockerscan -q nginx:latest
उदाहरण आउटपुट```
╔══════════════════════════════════════════════════════════════════════════╗ ║ ██████╗ ██████╗ ██████╗██╗ ██╗███████╗██████╗ ███████╗ ██████╗ █████╗ ███╗ ██╗ ║ ██╔══██╗██╔═══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗██╔════╝██╔════╝██╔══██╗████╗ ██║ ║ ██║ ██║██║ ██║██║ █████╔╝ █████╗ ██████╔╝███████╗██║ ███████║██╔██╗ ██║ ║ ██║ ██║██║ ██║██║ ██╔═██╗ ██╔══╝ ██╔══██╗╚════██║██║ ██╔══██║██║╚██╗██║ ║ ██████╔╝╚██████╔╝╚██████╗██║ ██╗███████╗██║ ██║███████║╚██████╗██║ ██║██║ ╚████║ ║ ║ ║ Advanced Docker Security Scanner v2.0.0 ║ ║ ║ ║ Author: Daniel Garcia (cr0hn) ║ ║ Website: https://cr0hn.com ║ ╚══════════════════════════════════════════════════════════════════════════════════════╝
🔍 Scanning image: nginx:latest
═══════════════════════════════════════════════════════════════════ SCAN RESULTS ═══════════════════════════════════════════════════════════════════
📊 Summary: Total Findings: 47 Duration: 2.3s
🔴 By Severity: Critical: 8 High: 15 Medium: 18 Low: 6
📁 By Category: CIS-Benchmark: 12 Secrets: 8 Supply-Chain: 5 Vulnerability: 10 Runtime-Security: 12
📄 JSON report saved to: dockerscan-report.json 📄 SARIF report saved to: dockerscan-report.sarif
---
## 📖 उपयोग
### कमांड लाइन विकल्प```bash
dockerscan [COMMAND] [OPTIONS] <IMAGE>
Commands:
scan Scan a Docker image (default)
update-db Download or update the CVE database
Options: --from-file <path> Install from local SQLite file
version Show version information
help Show help message
Options:
-h, --help Show help message
-v, --version Show version
-q, --quiet Suppress banner output (quiet mode)
--scanners SCANNERS Comma-separated list of scanners to run
(default: all)
Options: cis,secrets,supplychain,vulnerabilities,runtime
--output DIR Output directory for reports (default: .)
--only-critical Show only critical/high severity findings
--verbose, -v Show scan progress (scanner names, findings count, image pull status). Output to stderr.
--debug Show verbose output plus internal errors and technical details. Output to stderr.
Authentication (for private registries):
--registry-user <username> Registry username
--registry-password <password> Registry password (not recommended, use env vars)
--registry <url> Registry URL (optional, auto-detected from image)
--docker-config <path> Path to Docker config file (default: ~/.docker/config.json)
Environment variables (recommended for CI/CD):
DOCKER_USERNAME or REGISTRY_USERNAME Registry username
DOCKER_PASSWORD or REGISTRY_PASSWORD Registry password or token
DOCKER_REGISTRY or REGISTRY Registry URL (optional)
Exit Codes:
0 No issues found
1 HIGH severity issues found
2 CRITICAL severity found
उदाहरण```bash
Scan with all scanners (default)
dockerscan myapp:latest
Only run specific scanners
dockerscan --scanners secrets,supplychain redis:7
Save reports to specific directory
dockerscan --output /var/reports postgres:14
Only show critical issues
dockerscan --only-critical production-app:v1.0
Ver progreso del scan (scanner names, findings count, image pull status)
dockerscan --verbose ubuntu:22.04
Debug detallado (errores internos, detalles técnicos)
dockerscan --debug ubuntu:22.04
Scan private registry images (see Authentication section below)
dockerscan ghcr.io/myorg/private-app:v1.0
### 🔐 निजी रजिस्ट्री प्रमाणीकरण
DockerScan निजी रजिस्ट्रीज़ के साथ प्रमाणीकरण के लिए तीन विधियाँ प्रदान करता है:
#### विधि 1: Docker Config File (स्थानीय उपयोग के लिए अनुशंसित)
सबसे सुविधाजनक विधि - आपके मौजूदा Docker क्रेडेंशियल्स का उपयोग करता है:```bash
# First, authenticate with your registry using Docker
docker login ghcr.io
# Username: your-username
# Password: ghp_your-token-here
# Now DockerScan can use these credentials automatically
dockerscan ghcr.io/myorg/private-app:latest
DockerScan स्वचालित रूप से ~/.docker/config.json से क्रेडेंशियल्स पढ़ता है। यह उन सभी रजिस्ट्रियों के साथ काम करता है जिनमें आपने docker login के साथ लॉगिन किया है।
क्रेडेंशियल हेल्पर्स पूरी तरह से समर्थित हैं। DockerScan क्रेडेंशियल्स को मूल रूप से इन माध्यमों से हल करता है:
credsStore— वैश्विक क्रेडेंशियल हेल्पर (उदा. macOS पर Docker Desktop के साथosxkeychain, Windows परwincred, Linux परpass)credHelpers— प्रति-रजिस्ट्री क्रेडेंशियल हेल्पर्स (credsStoreपर प्राथमिकता लेता है)- स्वचालित फ़ॉलबैक — यदि निर्दिष्ट हेल्पर बाइनरी स्थापित नहीं है, तो DockerScan
config.jsonमें प्लेनटेक्स्टauthsब्लॉक पर वापस आ जाता है
macOS पर Docker Desktop के साथ, यह बिना किसी अतिरिक्त कॉन्फ़िगरेशन के तुरंत काम करता है:```json { "credsStore": "osxkeychain" }
DockerScan पारदर्शी रूप से टोकन प्राप्त करने के लिए `docker-credential-osxkeychain` को कॉल करेगा, ताकि आपको कभी भी स्पष्ट रूप से क्रेडेंशियल देने की आवश्यकता न हो।
#### विधि 2: पर्यावरण चर (CI/CD के लिए अनुशंसित)
स्वचालित वातावरण और CI/CD पाइपलाइनों के लिए सर्वोत्तम:```bash
# Set environment variables
export DOCKER_USERNAME=myusername
export DOCKER_PASSWORD=mytoken
# Scan private image
dockerscan ghcr.io/myorg/private-app:latest
# Or use alternative variable names
export REGISTRY_USERNAME=myusername
export REGISTRY_PASSWORD=mytoken
dockerscan myregistry.example.com/app:v1.0
CI/CD उदाहरण (GitHub Actions):```yaml
- name: Scan private image env: DOCKER_USERNAME: ${{ secrets.REGISTRY_USERNAME }} DOCKER_PASSWORD: ${{ secrets.REGISTRY_TOKEN }} run: dockerscan ghcr.io/${{ github.repository }}:${{ github.sha }}
#### विधि 3: कमांड-लाइन फ़्लैग्स (अनुशंसित नहीं)
त्वरित परीक्षण के लिए केवल (क्रेडेंशियल्स प्रक्रिया सूची में दिखाई देते हैं):```bash
dockerscan --registry-user myuser --registry-password mytoken ghcr.io/myorg/app:v1
सुरक्षा चेतावनी: यह विधि आपके शेल इतिहास और प्रक्रिया सूची में क्रेडेंशियल्स को उजागर करती है। इसके बजाय पर्यावरण चर या Docker कॉन्फ़िग का उपयोग करें।
रजिस्ट्री-विशिष्ट उदाहरण
Docker Hub (निजी रिपॉजिटरी)```bash
Using Docker config
docker login docker.io dockerscan myusername/private-repo:latest
Using environment variables
export DOCKER_USERNAME=myusername export DOCKER_PASSWORD=dckr_pat_XXXXXXXXXXXXX dockerscan myusername/private-repo:latest
#### GitHub Container Registry (GHCR)```bash
# Using Docker config
echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin
dockerscan ghcr.io/myorg/myapp:v1.0
# Using environment variables
export DOCKER_USERNAME=myusername
export DOCKER_PASSWORD=ghp_XXXXXXXXXXXXXXXXXXXX
dockerscan ghcr.io/myorg/myapp:v1.0
AWS Elastic Container Registry (ECR)```bash
Get login credentials from AWS
aws ecr get-login-password --region us-east-1 |
docker login --username AWS --password-stdin
123456789012.dkr.ecr.us-east-1.amazonaws.com
Scan ECR image
dockerscan 123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp:latest
Or use environment variables with ECR credentials
export DOCKER_USERNAME=AWS export DOCKER_PASSWORD=$(aws ecr get-login-password --region us-east-1) dockerscan 123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp:latest
#### Google Container Registry (GCR) / Artifact Registry```bash
# Authenticate with gcloud
gcloud auth configure-docker gcr.io
# Scan GCR image
dockerscan gcr.io/my-project/myapp:latest
# For Artifact Registry
gcloud auth configure-docker us-docker.pkg.dev
dockerscan us-docker.pkg.dev/my-project/my-repo/myapp:latest
# Or use service account JSON key
export DOCKER_USERNAME=_json_key
export DOCKER_PASSWORD="$(cat service-account-key.json)"
dockerscan gcr.io/my-project/myapp:latest
Azure Container Registry (ACR)```bash
Login with Azure CLI
az acr login --name myregistry
Scan ACR image
dockerscan myregistry.azurecr.io/myapp:v1.0
Or use service principal credentials
export DOCKER_USERNAME= export DOCKER_PASSWORD= dockerscan myregistry.azurecr.io/myapp:v1.0
#### GitLab Container Registry```bash
# Using Docker config
docker login registry.gitlab.com
dockerscan registry.gitlab.com/mygroup/myproject/myapp:latest
# Using environment variables with deploy token
export DOCKER_USERNAME=gitlab+deploy-token-1
export DOCKER_PASSWORD=DEPLOY_TOKEN_HERE
dockerscan registry.gitlab.com/mygroup/myproject/myapp:latest
स्व-होस्टेड/निजी रजिस्ट्रियाँ```bash
Standard authentication
docker login myregistry.example.com:5000 dockerscan myregistry.example.com:5000/myapp:latest
With environment variables
export DOCKER_USERNAME=admin export DOCKER_PASSWORD=secret dockerscan myregistry.example.com:5000/myapp:latest
Insecure registries (not recommended for production)
Add to Docker daemon config: /etc/docker/daemon.json
{
"insecure-registries": ["myregistry.example.com:5000"]
}
### प्रमाणीकरण समस्या निवारण
#### सामान्य समस्याएँ
**1. "प्रमाणीकरण आवश्यक" त्रुटि**```bash
# Make sure you're logged in
docker login <registry>
# Or set environment variables
export DOCKER_USERNAME=your-username
export DOCKER_PASSWORD=your-token
2. "unauthorized: authentication failed" त्रुटि
- सुनिश्चित करें कि आपके क्रेडेंशियल सही हैं
- जांचें कि क्या आपका टोकन समाप्त हो गया है (विशेषकर क्लाउड प्रदाताओं के लिए)
- सुनिश्चित करें कि आपके खाते में इमेज को खींचने (pull) की अनुमति है
3. AWS ECR "authorization token has expired"```bash
ECR tokens expire after 12 hours - refresh them
aws ecr get-login-password --region us-east-1 |
docker login --username AWS --password-stdin
123456789012.dkr.ecr.us-east-1.amazonaws.com
**4. Docker Hub पर दर सीमा**
- प्रमाणीकरण करें ताकि दर सीमा बढ़ाई जा सके (मुफ्त खातों के लिए 200 पुल/6 घंटे)
- उच्च सीमाओं के लिए Docker Hub Pro खाते का उपयोग करने पर विचार करें
**5. स्व-हस्ताक्षरित प्रमाणपत्रों के साथ प्रमाणपत्र त्रुटियाँ**
- CA प्रमाणपत्र को अपने सिस्टम ट्रस्ट स्टोर में जोड़ें
- या रजिस्ट्री पर भरोसा करने के लिए Docker को कॉन्फ़िगर करें (Docker दस्तावेज़ देखें)
---
## 🔍 सुरक्षा स्कैनर
### CIS Docker बेंचमार्क
CIS Docker बेंचमार्क v1.7.0 के विरुद्ध स्वचालित अनुपालन जांच:```bash
dockerscan --scanners cis nginx:latest
जाँच में शामिल हैं:
- कंटेनर उपयोगकर्ता रूट नहीं है
- कोई अनावश्यक पैकेज स्थापित नहीं हैं
- HEALTHCHECK निर्देश मौजूद है
- विशिष्ट संस्करण टैग (
:latestनहीं) - न्यूनतम एक्सपोज़्ड पोर्ट्स
- कोई विशेषाधिकार प्राप्त कंटेनर नहीं
- Linux क्षमताएं प्रतिबंधित
- Seccomp/AppArmor प्रोफाइल लागू
- केवल-पढ़ने के लिए रूट फाइलसिस्टम
- और 70+ और जाँचें...
सप्लाई चेन सुरक्षा
वास्तविक दुनिया के सप्लाई चेन हमलों का पता लगाएँ:```bash dockerscan --scanners supplychain suspicious-image:1.0
Detects:
- बिना छवि वाले कंटेनर (केवल दस्तावेज़ीकरण हमले)
- क्रिप्टोकरेंसी माइनर (xmrig, claymore, आदि)
- बैकडोर वाली लाइब्रेरी (xz-utils मामला)
- अहस्ताक्षरित/असत्यापित छवियाँ
- दस्तावेज़ों में फ़िशिंग प्रयास
- माइनिंग पूल, C2 सर्वरों से कनेक्शन
### रहस्यों का पता लगाना
हार्डकोडेड गुप्त सूचनाएं खोजें:```bash
dockerscan --scanners secrets webapp:prod
Finds:
- क्लाउड क्रेडेंशियल्स (AWS, GCP, Azure)
- API कुंजियाँ (40+ सेवाएँ)
- निजी कुंजियाँ और प्रमाणपत्र
- डेटाबेस क्रेडेंशियल्स
- Docker रजिस्ट्री प्रमाणीकरण
- उच्च एंट्रॉपी स्ट्रिंग्स (संभावित अज्ञात रहस्य)
भेद्यता स्कैनिंग
ज्ञात CVEs का पता लगाएँ:```bash dockerscan --scanners vulnerabilities node:16
जाँच करता है:
- महत्वपूर्ण Docker CVEs (2024-2025)
- कंटेनर से बचने की कमजोरियाँ
- BuildKit RCE कमजोरियाँ
- समाप्त-जीवन आधार इमेजेज़
- कमजोर पैकेज
### रनटाइम सुरक्षा
रनटाइम कॉन्फ़िगरेशन का ऑडिट करें:```bash
dockerscan --scanners runtime running-container
Analyzes:
- लिनक्स क्षमताएँ (CAP_SYS_ADMIN, आदि)
- Seccomp प्रोफाइल
- AppArmor/SELinux नीतियाँ
- नेमस्पेस आइसोलेशन
- विशेषाधिकार प्राप्त मोड का उपयोग
📁 आउटपुट प्रारूप
JSON आउटपुट```json
{ "target": { "image_name": "nginx:latest" }, "start_time": "2024-11-22T10:30:00Z", "findings": [ { "id": "CIS-4.1", "title": "Container should not run as root", "severity": "HIGH", "category": "CIS-Benchmark", "description": "Running containers as root increases attack surface...", "remediation": "Use USER instruction in Dockerfile..." } ], "summary": { "total_findings": 47, "by_severity": { "CRITICAL": 8, "HIGH": 15 } } }
### SARIF Output
GitHub Security, Azure DevOps, VS Code के साथ संगत:```json
{
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
"version": "2.1.0",
"runs": [
{
"tool": {
"driver": {
"name": "DockerScan",
"version": "2.0.0"
}
},
"results": [...]
}
]
}
💼 उपयोग के मामले
1. CI/CD पाइपलाइन एकीकरण
GitHub Actions:```yaml name: Docker Security Scan
on: [push]
jobs: security-scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3
- name: Build Docker image
run: docker build -t myapp:${{ github.sha }} .
- name: Install DockerScan
run: |
curl -L https://github.com/cr0hn/dockerscan/releases/latest/download/dockerscan-linux-amd64 -o dockerscan
chmod +x dockerscan
- name: Update CVE Database
run: ./dockerscan update-db
- name: Run Security Scan
run: ./dockerscan -q myapp:${{ github.sha }}
- name: Upload SARIF results
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: dockerscan-report.sarif
**GitLab CI:**```yaml
docker-security-scan:
stage: test
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- wget https://github.com/cr0hn/dockerscan/releases/latest/download/dockerscan-linux-amd64 -O dockerscan
- chmod +x dockerscan
- ./dockerscan update-db
- ./dockerscan -q $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
artifacts:
reports:
sast: dockerscan-report.sarif
2. सुरक्षा ऑडिट```bash
Comprehensive audit of production images
for image in $(docker images --format "{{.Repository}}:{{.Tag}}"); do echo "Scanning $image..." dockerscan $image --output /audit-reports/ done
Generate summary report
cat /audit-reports/*.json | jq -s ' { total_images: length, total_findings: map(.summary.total_findings) | add, critical_findings: map(.summary.by_severity.CRITICAL // 0) | add } '
### 3. **पूर्व-तैनाती सत्यापन**```bash
# Fail deployment if critical issues found
dockerscan production-app:v2.0
exit_code=$?
if [ $exit_code -eq 2 ]; then
echo "❌ Critical vulnerabilities found. Deployment blocked."
exit 1
elif [ $exit_code -eq 1 ]; then
echo "⚠️ High severity issues found. Manual review required."
# Send notification...
else
echo "✅ No critical issues. Proceeding with deployment."
fi
4. अनुपालन रिपोर्टिंग```bash
Generate CIS compliance report
dockerscan --scanners cis --only-critical all-production-images:* > cis-compliance-report.txt
Weekly security scan for compliance
0 0 * * 0 /usr/local/bin/dockerscan --scanners cis,vulnerabilities production-images:latest --output /compliance/weekly/
### 5. **डेवलपर कार्यप्रवाह**```bash
# Pre-commit hook
#!/bin/bash
# .git/hooks/pre-commit
docker build -t local-test:latest .
dockerscan --only-critical local-test:latest
if [ $? -ne 0 ]; then
echo "❌ Docker security scan failed. Fix issues before committing."
exit 1
fi
📊 अन्य उपकरणों से तुलना
| फीचर | DockerScan v2.0 | Trivy | Clair | Snyk | Grype |
|---|---|---|---|---|---|
| CIS Benchmark v1.7 | ✅ पूर्ण (80+ जांच) | ❌ | ❌ | आंशिक | ❌ |
| सप्लाई चेन डिटेक्शन (2024) | ✅ हाँ | ❌ | ❌ | ❌ | ❌ |
| सीक्रेट्स स्कैनिंग | ✅ 40+ पैटर्न | बुनियादी | ❌ | ✅ | ❌ |
| CVE डेटाबेस | ✅ 2024-2025 CVEs | ✅ | ✅ | ✅ | ✅ |
| रनटाइम सुरक्षा | ✅ पूर्ण | ❌ | ❌ | ❌ | ❌ |
| SARIF आउटपुट | ✅ | ✅ | ❌ | ✅ | ✅ |
| गति (Go) | ⚡ बहुत तेज़ | ⚡ बहुत तेज़ | 🐌 धीमा | ⚡ तेज़ | ⚡ बहुत तेज़ |
| विस्तार योग्य | ✅ प्लगिन सिस्टम | सीमित | सीमित | ❌ | सीमित |
| एक्जिट कोड | ✅ CI/CD के लिए तैयार | ✅ | आंशिक | ✅ | ✅ |
| लागत | 🆓 मुफ्त | 🆓 मुफ्त | 🆓 मुफ्त | 💰 भुगतान टियर | 🆓 मुफ्त |
| ऑफलाइन मोड | ✅ | ✅ | ❌ | ❌ | ✅ |
| लाइसेंस | प्रोप्राइटरी स्रोत-उपलब्ध | Apache-2.0 | Apache-2.0 | प्रोप्राइटरी | Apache-2.0 |
DockerScan क्यों चुनें?
- सबसे व्यापक: एकमात्र उपकरण जो CIS + सप्लाई चेन + सीक्रेट्स + CVE + रनटाइम को जोड़ता है
- नवीनतम शोध: 2024-2025 के वास्तविक दुनिया के हमलों पर आधारित
- शून्य कॉन्फ़िगरेशन: बॉक्स से बाहर काम करता है
- डेवलपर अनुकूल: कार्रवाई योग्य सुधार के साथ सुंदर CLI आउटपुट
- एंटरप्राइज़ के लिए तैयार: SARIF + एक्जिट कोड + JSON आउटपुट
🏗️ आर्किटेक्चर
प्रोजेक्ट संरचना```
dockerscan/ ├── logo.png # Project logo ├── cmd/ │ ├── dockerscan/ # Main CLI application │ │ └── main.go │ └── nvd2sqlite/ # CVE database builder tool │ └── main.go ├── data/ # CVE database (auto-updated daily) │ ├── latest.db.gz # Compressed SQLite database │ └── metadata.json # Database version info ├── internal/ │ ├── scanner/ # Extensible scanner framework │ │ ├── scanner.go # Scanner interface & registry │ │ ├── cis/ # CIS Benchmark implementation │ │ ├── secrets/ # Secrets detection │ │ ├── supplychain/ # Supply chain attacks │ │ ├── vulnerabilities/ # CVE scanning │ │ └── runtime/ # Runtime security │ ├── report/ # Report generators │ │ ├── json.go # JSON reporter │ │ └── sarif.go # SARIF reporter │ ├── models/ # Data models │ │ └── models.go # Findings, scan results, etc. │ └── config/ # Configuration │ └── config.go # App config & banner └── pkg/docker/ # Docker client wrapper └── client.go
### CVE डेटाबेस और nvd2sqlite टूल
DockerScan CVE खोज के लिए एक स्थानीय SQLite डेटाबेस का उपयोग करता है। डेटाबेस को GitHub Actions के माध्यम से **स्वचालित रूप से प्रतिदिन अपडेट** किया जाता है और रिपॉजिटरी में होस्ट किया जाता है, इसलिए आपके पास हमेशा नवीनतम CVE डेटा तक पहुंच होती है।
#### डेटाबेस सुविधाएँ
- 🗄️ **पूर्व-निर्मित डेटाबेस** - उपयोग के लिए तैयार, किसी मैन्युअल सेटअप की आवश्यकता नहीं
- 🔄 **दैनिक अपडेट** - GitHub Action प्रतिदिन 00:00 UTC पर डेटाबेस अपडेट करता है
- 📅 **2.5 वर्षों का CVE डेटा** - मध्य-2022 से वर्तमान तक के CVEs शामिल करता है
- ⚡ **तेज़ खोज** - अनुकूलित अनुक्रमणिका के साथ SQLite
- 🌐 **GitHub पर होस्ट** - `update-db` कमांड के साथ स्वचालित रूप से डाउनलोड
#### डेटाबेस को अपडेट करना```bash
# Download latest database from GitHub (recommended)
dockerscan update-db
# Install from local file (for air-gapped/offline environments)
dockerscan update-db --from-file /path/to/cve-db.sqlite
नोट: पहली बार जब आप
dockerscanचलाते हैं, तो यह आपको डेटाबेस डाउनलोड करने के लिए संकेत देगा। उसके बाद, आप इसेupdate-dbके साथ समय-समय पर अपडेट कर सकते हैं।
डेटाबेस को मैन्युअल रूप से बनाना (nvd2sqlite)
उन्नत उपयोगकर्ताओं के लिए, आप CVE डेटाबेस को सीधे NVD से बना सकते हैं:```bash
Build the tool
make build # Builds both dockerscan and nvd2sqlite
Download CVEs (last 2.5 years by default)
./bin/nvd2sqlite --output data/cve-db.sqlite --verbose
With NVD API key (10x faster - 50 req/30sec vs 5 req/30sec)
NVD_API_KEY=your-key ./bin/nvd2sqlite --output data/cve-db.sqlite --verbose
Custom date range
./bin/nvd2sqlite --output data/cve-db.sqlite
--start-date 2023-01-01
--end-date 2024-12-31
**nvd2sqlite विशेषताएँ:**
- ⚡ **4 समानांतर डाउनलोड वर्कर्स** तेज़ डाउनलोड के लिए
- 🔄 **एक्सपोनेंशियल बैकऑफ़ के साथ स्वचालित पुनर्प्रयास** दर सीमा (HTTP 429) के लिए
- 📦 **टेम्प निर्देशिका में डाउनलोड**, फिर क्रमिक रूप से प्रक्रिया करता है
- 🗄️ **SQLite आउटपुट** तेज़ खोज के लिए अनुक्रमित तालिकाओं के साथ
---
### विस्तारशीलता
एक नया स्कैनर जोड़ना सरल है:```go
package myscan
import (
"context"
"github.com/cr0hn/dockerscan/v2/internal/models"
"github.com/cr0hn/dockerscan/v2/internal/scanner"
)
type MyScanner struct {
scanner.BaseScanner
}
func NewMyScanner() *MyScanner {
return &MyScanner{
BaseScanner: scanner.NewBaseScanner(
"my-scanner",
"Description of my scanner",
true, // enabled
),
}
}
func (s *MyScanner) Scan(ctx context.Context, target models.ScanTarget) ([]models.Finding, error) {
var findings []models.Finding
// Your scanning logic here...
return findings, nil
}
// Register in main.go:
// registry.Register(myscan.NewMyScanner())
🤝 योगदान
योगदान का स्वागत है! DockerScan को विस्तार योग्य बनाया गया है।
योगदान कैसे करें
- रिपॉजिटरी को Fork करें
- एक फीचर ब्रांच Create करें (
git checkout -b feature/amazing-scanner) - अपना स्कैनर
internal/scanner/में Add करें - टेस्ट Write करें (हम 90%+ कवरेज बनाए रखते हैं)
- अपने बदलाव Commit करें (
git commit -am 'Add amazing scanner') - ब्रांच में Push करें (
git push origin feature/amazing-scanner) - एक Pull Request Open करें
विकास```bash
Clone and setup
git clone https://github.com/cr0hn/dockerscan cd dockerscan/dockerscan-v2
Install dependencies
make deps
Run tests
make test
Run with coverage
make coverage
Build
make build
Format code
make fmt
Lint
make lint
### नए स्कैनर जोड़ना
हम विशेष रूप से स्वागत करते हैं:
- भेद्यता डेटाबेस (NVD, GitHub Security Advisories) के साथ एकीकरण
- Kubernetes सुरक्षा स्कैनिंग
- कंटेनर रजिस्ट्री सुरक्षा
- Docker Compose सुरक्षा विश्लेषण
- IaC स्कैनिंग (Dockerfiles)
---
## 📚 संदर्भ
### मानक और बेंचमार्क
- [CIS Docker Benchmark v1.7.0](https://www.cisecurity.org/benchmark/docker) - इंटरनेट सुरक्षा केंद्र
- [NIST SP 800-190](https://csrc.nist.gov/publications/detail/sp/800-190/final) - एप्लिकेशन कंटेनर सुरक्षा गाइड
- [OWASP Docker Security Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Docker_Security_Cheat_Sheet.html)
### अनुसंधान और CVE
- [4M Malicious Imageless Containers](https://thehackernews.com/2024/04/millions-of-malicious-imageless.html) - द हैकर न्यूज़, अप्रैल 2024
- [Supply Chain Attacks Using Container Images](https://www.aquasec.com/blog/supply-chain-threats-using-container-images/) - Aqua Security
- [CVE-2024-21626: runc Container Escape](https://nvd.nist.gov/vuln/detail/CVE-2024-21626) - NIST NVD
- [CVE-2024-23651: BuildKit RCE](https://nvd.nist.gov/vuln/detail/CVE-2024-23651) - NIST NVD
- [xz-utils बैकडोर (मार्च 2024)](https://www.openwall.com/lists/oss-security/2024/03/29/4) - OpenWall
### उपकरण और परियोजनाएं
- [Trivy](https://github.com/aquasecurity/trivy) - भेद्यता स्कैनर
- [Docker Bench Security](https://github.com/docker/docker-bench-security) - CIS बेंचमार्क स्क्रिप्ट
- [Cosign](https://github.com/sigstore/cosign) - कंटेनर हस्ताक्षर और सत्यापन
- [SARIF Specification](https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html) - स्थैतिक विश्लेषण परिणाम प्रारूप
---
## 📄 लाइसेंस
यह प्रोजेक्ट **DockerScan Proprietary Source-Available License** के तहत लाइसेंस प्राप्त है।
### इसका क्या अर्थ है
✅ **आप कर सकते हैं (निःशुल्क):**
- आंतरिक सुरक्षा स्कैनिंग के लिए DockerScan का **मुफ्त** उपयोग करें
- इसे अपने **CI/CD पाइपलाइनों** और सुरक्षा कार्यप्रवाहों में उपयोग करें
- समुदाय में वापस **संशोधित, फोर्क और योगदान** करें
- इसे **शैक्षिक और अनुसंधान** उद्देश्यों के लिए उपयोग करें
- इसे **पेशेवर सेवाओं में एक उपकरण** के रूप में उपयोग करें (परामर्श, सुरक्षा ऑडिट, पेनटेस्टिंग)
- इसे अन्य उत्पादों में **एकीकृत** करें जहां यह एक सहायक घटक है
❌ **आप नहीं कर सकते (स्पष्ट लिखित अनुमति या वाणिज्यिक लाइसेंस के बिना):**
- **Docker स्कैनिंग को वाणिज्यिक SaaS** के रूप में प्रदान करना
- DockerScan के **होस्टेड इंस्टेंस बेचना**
- मुख्य रूप से DockerScan पर आधारित **वाणिज्यिक प्लेटफॉर्म** बनाना
- एक **भुगतान प्रबंधित सेवा** बनाना जहां DockerScan मुख्य पेशकश है
### यह लाइसेंस क्यों?
यह लाइसेंस निम्नलिखित द्वारा परियोजना की स्थिरता की रक्षा करता है:
- ✅ वैध उद्देश्यों के लिए सॉफ्टवेयर का उपयोग करने की **स्वतंत्रता** प्रदान करना
- ❌ **हानिकारक फ्री-राइडिंग** को रोकना जहां कंपनियां बिना योगदान के इसे सेवा के रूप में पेश करके लाभ कमाती हैं
- 💰 प्रतिस्पर्धी उपयोगों के लिए वाणिज्यिक लाइसेंसिंग के माध्यम से परियोजना को **टिकाऊ** बनाए रखना
- 🔓 पारदर्शिता और समुदाय के योगदान के लिए **स्रोत कोड उपलब्ध** रखना
**यह ओपन सोर्स नहीं है** - यह वाणिज्यिक प्रतिस्पर्धी उपयोग पर प्रतिबंधों के साथ **स्रोत-उपलब्ध** है।
### वाणिज्यिक लाइसेंसिंग
**इसके लिए आवश्यक:**
- SaaS या होस्टेड पेशकशें
- DockerScan को प्राथमिक सुविधा के रूप में उपयोग करने वाले वाणिज्यिक प्लेटफॉर्म
- वाणिज्यिक उत्पाद के रूप में पुनर्विक्रय या पुनर्वितरण
- प्रबंधित सेवाएं जहां DockerScan मुख्य पेशकश है
**वाणिज्यिक लाइसेंसिंग के लिए संपर्क करें:**
📧 ईमेल: cr0hn [at] cr0hn.com
🌐 वेबसाइट: https://cr0hn.com
💼 उद्यम और स्टार्टअप के लिए लचीली लाइसेंसिंग शर्तें उपलब्ध हैं
पूर्ण कानूनी शर्तों के लिए [LICENSE](https://github.com/cr0hn/dockerscan/blob/HEAD/LICENSE) फ़ाइल देखें।
---
## 👤 लेखक
<div align="center">
### **Daniel Garcia (cr0hn)**
[](https://cr0hn.com)
[](https://github.com/cr0hn)
[](https://twitter.com/ggdaniel)
**सुरक्षा शोधकर्ता | ओपन सोर्स डेवलपर | Docker सुरक्षा विशेषज्ञ**
</div>
---
## 🙏 आभार
विशेष धन्यवाद:
- Docker सुरक्षा समुदाय
- Docker बेंचमार्क के लिए CIS
- SP 800-190 के लिए NIST
- 2024 की आपूर्ति श्रृंखला हमलों की खोज करने वाले सुरक्षा शोधकर्ता
- DockerScan के सभी योगदानकर्ता और उपयोगकर्ता
---
## 📞 सहायता
- **मुद्दे**: [GitHub Issues](https://github.com/cr0hn/dockerscan/issues)
- **चर्चाएं**: [GitHub Discussions](https://github.com/cr0hn/dockerscan/discussions)
- **सुरक्षा**: [email protected] पर भेद्यताओं की रिपोर्ट करें
---
<div align="center">
**⭐ यदि आप DockerScan को उपयोगी पाते हैं, तो कृपया रिपॉजिटरी को स्टार करें! ⭐**
*Docker सुरक्षा को सभी के लिए सुलभ बनाना*
[⬆ वापस ऊपर जाएं](#-dockerscan-v20)
</div>