Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
dockerscan — Самый всесторонний сканер безопасности Docker | Kitploit
Инструменты/GitHubGitHub/cr0hn/dockerscan
Сканеры уязвимостейБезопасность контейнеровАудит конфигурацииБезопасность облачных средDevSecOpsОбнаружение СекретовБезопасность Цепочки Поставок
GitHubcr0hn/dockerscan

dockerscan

Самый всесторонний сканер безопасности Docker

Репозиторий
1.7k247513 ч 25 мин назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
<div align="center">

<img src="https://assets.kitploit.com/production/public/readmes/1309/3345979faae1cdabbe2912dfcaf46221df5cb53697630a8e8dcc5eebf814e949.png" alt="Логотип DockerScan" width="200">

# DockerScan v2.0

### *Самый всеобъемлющий сканер безопасности Docker*

[![Лицензия](https://img.shields.io/badge/license-Proprietary-blue.svg)](LICENSE)
[![Версия Go](https://img.shields.io/badge/go-1.21+-00ADD8.svg?logo=go)](https://golang.org/)
[![Версия](https://img.shields.io/github/v/release/cr0hn/dockerscan?label=version)](https://github.com/cr0hn/dockerscan/releases)
[![CI/CD](https://img.shields.io/badge/CI/CD-Manual-blue.svg)](https://github.com/cr0hn/dockerscan/actions/workflows/dockerscan.yml)
[![Покрытие тестами](https://img.shields.io/badge/coverage-92%25-brightgreen.svg)](https://github.com/cr0hn/dockerscan)
[![Go Report Card](https://img.shields.io/badge/go%20report-A+-brightgreen.svg)](https://goreportcard.com/report/github.com/cr0hn/dockerscan)
[![Загрузки](https://img.shields.io/github/downloads/cr0hn/dockerscan/total.svg)](https://github.com/cr0hn/dockerscan/releases)

**Автор: [Daniel Garcia (cr0hn)](https://cr0hn.com)** | [GitHub](https://github.com/cr0hn/dockerscan) | [Веб-сайт](https://cr0hn.com)

---

[Особенности](#-особенности) •
[Установка](#-установка) •
[Быстрый старт](#-быстрый-старт) •
[Документация](#-документация) •
[Сценарии использования](#-сценарии-использования) •
[Что нового](#-что-нового-в-v20) •
[Участие в разработке](#-участие-в-разработке)

</div>

---

## 📑 Содержание

- [Обзор](#-обзор)
- [Особенности](#-особенности)
- [Что нового в v2.0](#-что-нового-в-v20)
- [Установка](#-установка)
- [Быстрый старт](#-быстрый-старт)
- [Использование](#-использование)
  - [Аутентификация в частном реестре](#-аутентификация-в-частном-реестре)
- [Сканеры безопасности](#-сканеры-безопасности)
- [Форматы вывода](#-форматы-вывода)
- [Сценарии использования](#-сценарии-использования)
- [Сравнение](#-сравнение-с-другими-инструментами)
- [Архитектура](#-архитектура)
- [Участие в разработке](#-участие-в-разработке)
- [Ссылки](#-ссылки)
- [Лицензия](#-лицензия)
- [Автор](#-автор)

---

## 🎯 Обзор

**DockerScan v2.0** — это сканер безопасности нового поколения для контейнеров и образов Docker, полностью переписанный на Go. Он объединяет несколько методов сканирования безопасности на основе последних исследований 2024–2025 годов, отраслевых стандартов (CIS Benchmark, NIST SP 800-190) и реальных шаблонов атак, обнаруженных в производственных средах.

### Почему DockerScan v2.0?

- ✅ **Самый всеобъемлющий**: Объединяет 5+ методов сканирования безопасности в одном инструменте
- ✅ **Новейшие исследования**: Основан на атаках на цепочки поставок 2024–2025 годов и CVE
- ✅ **Готов к производству**: Вывод SARIF для CI/CD, коды завершения для автоматизации
- ✅ **Молниеносная скорость**: Написан на Go с конкурентным сканированием
- ✅ **Расширяемый**: Архитектура плагинов для пользовательских сканеров
- ✅ **Бесплатно и с открытым исходным кодом**: Лицензия BSD-3

---

## 🌟 Особенности

### 🛡️ **Модули сканирования безопасности**

#### 1. **CIS Docker Benchmark v1.7.0**
Полная проверка соответствия с более чем 80 автоматизированными контролями:
- ✅ Безопасность конфигурации хоста (13 проверок)
- ✅ Укрепление демона Docker (18 проверок)
- ✅ Права доступа к файлам и каталогам (9 проверок)
- ✅ Лучшие практики образов контейнеров (13 проверок)
- ✅ Проверка безопасности во время выполнения (31+ проверок)
- ✅ Соответствие операционным требованиям безопасности

#### 2. **Обнаружение атак на цепочку поставок** 🆕
Основано на реальных кампаниях атак 2024 года:
- ✅ **Обнаружение контейнеров без образов** — Выявляет вредоносные контейнеры без фактических слоёв (4 млн+ найдено на Docker Hub)
- ✅ **Обнаружение криптомайнеров** — Выявляет майнинговое вредоносное ПО (обнаружено 120 тыс.+ вредоносных загрузок образов)
- ✅ **Обнаружение библиотек с бэкдорами** — Ловит скомпрометированные зависимости (инциденты с 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**: Токены аутентификации реестра
- ✅ **Энтропийный анализ**: Расчёт энтропии Шеннона для неизвестных секретов (порог >4.5)

#### 4. **Сканирование CVE и уязвимостей** 🚨
Обнаружение критических CVE 2024–2025:
- ✅ **CVE-2024-21626** — Побег из контейнера runc (CVSS 8.6)
- ✅ **CVE-2024-23651** — RCE через отравление кэша BuildKit (CVSS 9.1)
- ✅ **CVE-2024-23652** — Состояние гонки BuildKit (CVSS 7.5)
- ✅ **CVE-2024-23653** — Повышение привилегий BuildKit
- ✅ **CVE-2024-8695/8696** — RCE в Docker Desktop (CVSS 8.8)
- ✅ **CVE-2025-9074** — Уязвимость локального доступа Docker Desktop
- ✅ Обнаружение устаревших базовых образов
- ✅ Сканирование известных уязвимых пакетов

#### 5. **Анализ безопасности времени выполнения** ⚙️
Проверки укрепления контейнеров во время выполнения:
- ✅ **Аудит возможностей Linux** — Выявляет опасные возможности (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=критично)

### 🚀 **Производительность**

- ⚡ **В 10 раз быстрее** альтернатив на Python
- 🔄 **Конкурентное сканирование** с помощью горутин Go
- 💾 **Низкое потребление памяти** (~50–100 МБ)
- 📦 **Один бинарный файл** — без зависимостей

---

## 🆕 Что нового в v2.0?

DockerScan v2.0 — это **полная переработка** с нуля. Вот что изменилось по сравнению с v1.x:

### Основные изменения

| Функция | v1.x (Python) | v2.0 (Go) |
|---------|--------------|-----------|
| **Язык** | Python 3.5+ | Go 1.21+ |
| **Производительность** | ~500 образов/час | ~5000 образов/час |
| **Использование памяти** | 200–500 МБ | 50–100 МБ |
| **Распространение** | pip install + зависимости | Один бинарный файл |
| **Сканеры безопасности** | 2 модуля | 5 модулей |
| **CIS Benchmark** | Частично | Полный v1.7.0 (80+ проверок) |
| **Цепочка поставок** | ❌ Недоступно | ✅ Основано на исследованиях 2024 |
| **Шаблоны секретов** | 10 шаблонов | 40+ шаблонов |
| **Обнаружение CVE** | Базовое | CVE 2024–2025 |
| **Безопасность времени выполнения** | ❌ Недоступно | ✅ Полный аудит возможностей |
| **Вывод SARIF** | ❌ Недоступно | ✅ Полная поддержка |
| **Интеграция CI/CD** | Вручную | Нативная (коды завершения, SARIF) |

### Что сохранено из v1.x

- ✅ **Инструменты атаки** — Возможность троянизации образов (скоро в v2.1)
- ✅ **Операции с реестром** — Push, pull, delete (скоро в v2.1)
- ✅ **Сканирование сети** — Обнаружение реестров Docker (скоро в v2.1)

### Новое в v2.0.5 🔐

- 🔑 **Аутентификация в частном реестре** — Полная поддержка сканирования образов из частных реестров (исправляет #24)
- 🌐 **Поддержка нескольких реестров** — Docker Hub, GHCR, ECR, GCR, ACR, GitLab и собственные реестры
- 🔐 **Несколько методов аутентификации** — Переменные окружения (CI/CD), флаги CLI (тестирование), файл конфигурации Docker (бесшовно)
- 🎯 **Умный приоритет аутентификации** — Флаги CLI > Переменные окружения > Docker config (автоматический выбор)
- 📝 **Улучшенные сообщения об ошибках** — Подсказки для конкретных реестров (истечение токенов ECR, ограничения скорости, сертификаты)
- 🧪 **Комплексное тестирование** — 64 тестовых случая, 91.2% покрытия, протестировано с реальным частным реестром
- 📚 **Полная документация** — Примеры для всех основных облачных реестров и методов аутентификации

### Новое в v2.0.4

- 🗄️ **Интеграция базы данных CVE** — Локальная база данных SQLite с данными NVD (2.5 года CVE)
- 🔄 **Ежедневные автообновления** — GitHub Action обновляет базу CVE каждый день
- ⚡ **Параллельные загрузки CVE** — 4 рабочих процесса для более быстрой сборки базы (nvd2sqlite)
- 🔁 **Повторные попытки с задержкой** — Автоматические повторные попытки при ограничении запросов API NVD
- 📦 **Флаг `--from-file`** — Установка базы CVE из локального файла (офлайн/air-gapped)
- 🔇 **Тихий режим (`-q`)** — Подавление баннера для конвейеров CI/CD
- 🧹 **Уменьшение ложных срабатываний** — Улучшенное обнаружение секретов с фильтрацией энтропии

### Почему переработка?

1. **Производительность** — Go обеспечивает в 10 раз более быстрое сканирование с помощью горутин
2. **Современные угрозы** — Включает шаблоны атак 2024–2025 годов
3. **Готовность к предприятию** — Вывод SARIF, коды завершения, распространение в одном бинарном файле
4. **Расширяемость** — Чистая архитектура плагинов для пользовательских сканеров
5. **Обслуживаемость** — Безопасность типов, лучшая обработка ошибок, проще вносить вклад

---

## 📦 Установка

### Вариант 1: Загрузить готовый бинарный файл (рекомендуется)

Предварительно скомпилированные бинарные файлы автоматически собираются и публикуются через GitHub Actions для каждого тега версии.

**Поддерживаемые платформы:**
- **Linux**: amd64, arm64, 386
- **macOS**: amd64 (Intel), arm64 (Apple Silicon)
- **Windows**: amd64, arm64, 386
- **FreeBSD**: amd64

#### Linux (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 Install```bash
go install github.com/cr0hn/dockerscan/v2/cmd/dockerscan@latest
```
---

## 🚀 Быстрый старт

### Первоначальная настройка

Перед сканированием загрузите базу данных CVE (обновляется ежедневно, ~30 МБ в сжатом виде):```bash
# Download latest CVE database from GitHub
dockerscan update-db
```
> **Совет**: База данных обновляется ежедневно через GitHub Actions. Запускайте `update-db` периодически, чтобы получить последние данные CVE.

### Базовое сканирование```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 (рекомендуется для локального использования)

Самый удобный метод — использует ваши существующие учетные данные 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`** — глобальный помощник учетных данных (например, `osxkeychain` на macOS с Docker Desktop, `wincred` на Windows, `pass` на Linux)
- **`credHelpers`** — помощники учетных данных для отдельных реестров (имеют приоритет над `credsStore`)
- **Автоматический откат** — если указанный бинарный файл помощника не установлен, DockerScan возвращается к блоку `auths` в открытом виде в `config.json`

На **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 }}
```
#### Method 3: Command-Line Flags (Not Recommended)

For quick testing only (credentials visible in process list):```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=<service-principal-id>
export DOCKER_PASSWORD=<service-principal-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. ошибка "authentication required"**```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"**
- Убедитесь, что ваши учетные данные верны
- Проверьте, не истек ли срок действия вашего токена (особенно для облачных провайдеров)
- Убедитесь, что ваша учетная запись имеет разрешения на извлечение образа

**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. Ошибки сертификатов с самоподписанными сертификатами**
- Добавьте сертификат ЦС в системное хранилище доверенных сертификатов
- Или настройте Docker на доверие реестру (см. документацию Docker)

---

## 🔍 Сканеры безопасности

### CIS Docker Benchmark
```

---

[Read more](https://github.com/cr0hn/dockerscan)
Скачать инструмент