
DockSec v2026.8.19
Сканер безопасности Docker на базе ИИ, который объясняет уязвимости простым языком. Лабораторный проект OWASP.
Что такое DockSec?
DockSec — это лабораторный проект OWASP, который сокращает разрыв между сложными результатами сканирования безопасности и практическими исправлениями для разработчиков. Он объединяет отраслевые стандартные сканеры (Trivy, Hadolint, Docker Scout) с ИИ для обеспечения контекстно-зависимого анализа безопасности.
Вместо того чтобы ошеломлять вас списком из 200+ CVE, DockSec:
- Расставляет приоритеты того, что действительно влияет на вашу конкретную конфигурацию контейнера.
- Объясняет уязвимости простым языком, а не только с помощью специального жаргона безопасности.
- Предлагает конкретные исправления для вашего Dockerfile.
- Создаёт профессиональные интерактивные отчёты о безопасности для вашей команды.
Всё сканируется локально; единственное, что когда-либо покидает вашу машину, — это (с удалёнными секретами) содержимое файлов, отправляемое выбранному вами провайдеру ИИ. А при использовании локальной модели или режима только сканирования ничего не покидает машину вообще. См. Поток данных и конфиденциальность.
Как это работает
Рабочий процесс DockSec: от сканирования до практических выводов
DockSec следует конвейеру из пяти этапов:
- Сканирование: запускает Trivy (уязвимости образов и ошибки конфигурации Dockerfile), Hadolint и Docker Scout локально в вашей среде.
- Приоритизация: ранжирует каждую находку CVE по серьёзности в сочетании с EPSS — вероятностью эксплуатации, поэтому список упорядочен по тому, что исправлять в первую очередь, а не по тому, что было найдено первым.
- Корреляция: обнаруживает цепочки эксплойтов, где отдельные находки объединяются в один путь атаки — база данных с учётными данными, доступная из интернет-сервиса, — это цепочка, а не две несвязанные находки. При наличии API-ключа ИИ-проход анализирует полный вывод сканирования, чтобы ранжировать, объяснить и расширить это.
- Рекомендации: создаёт команды исправления для копирования и запуска, а также конкретные изменения Dockerfile или compose и указывает, сколько находок они устраняют.
- Отчёт: экспортирует практические результаты в форматах HTML, PDF, JSON, CSV, Markdown, SARIF и CycloneDX SBOM.
Начало работы
1. Предварительные требования
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
3. Запустите первое сканирование
Для локального сканирования API-ключ не требуется:```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).