Как Aikido упрощает сканирование Docker Hardened Images: практическое руководство
В современном мире разработки контейнеров количество CVE растёт с каждым днём. Команды вынуждены быстро собирать зависимости, запускать сервисы и выпускать новые версии, но при этом сталкиваются с «шумом» из‑за уязвимостей, которые в реальности не применимы к конкретному образу. Docker Hardened Images (DHI) – это специально отобранные, минимальные и уже проверенные образы, которые уменьшают поверхность атаки. Однако даже для таких образов традиционные сканеры могут выдавать ложные тревоги, если не учитывать специфику distroless‑образов и подписанные attestations.
Что такое Docker Hardened Images?
DHI – это набор образов, созданных с учётом безопасности: они содержат только необходимые пакеты, часто без оболочки и менеджеров пакетов, и включают автоматические патчи. Благодаря этому размер образа уменьшается, а вероятность эксплуатации уязвимостей падает. Но чтобы получить реальную картину безопасности, сканер должен «видеть» только те компоненты, которые действительно присутствуют.
Проблема «шумных» CVE
- Distroless‑образы не содержат привычных файловых систем, поэтому сканеры, полагающиеся на пакетные менеджеры, могут ошибочно считать, что уязвимый пакет присутствует.
- Многие CVE относятся к кода, который в конкретном образе не используется (например, парсер, который не вызывается в приложении).
- Результаты сканирования часто перегружены, и команды тратят время на ручную фильтрацию.
Как Aikido решает эти вопросы
Aikido интегрирует подписанные SBOM (список компонентов) и VEX‑аттестации от Docker. В итоге:
- SBOM гарантирует, что сканер знает точный набор пакетов, без попыток «распарсить» файловую систему.
- VEX‑аттестация сообщает, какие CVE действительно применимы, а какие – нет, с указанием причины.
- Невыявленные уязвимости автоматически удаляются из очереди, оставляя только реальные угрозы.
Требования к использованию
- Активный аккаунт Aikido.
- Доступ к Docker Hardened Images.
- Персональный токен Docker Hub с правом чтения.
- Если ваш реестр уже подключён к Aikido, этот шаг можно пропустить.
Подключение Docker Hub к Aikido
В интерфейсе Aikido перейдите в Settings > Containers и нажмите Connect Registry. Выберите Docker Hub, введите имя организации, логин и токен. После подключения Aikido автоматически обнаружит репозитории и покажет их в списке для сканирования.
Сканирование DHI
После подключения откройте меню реестра и выберите Scan repos in registry. Aikido сам определит, что это DHI, и применит нужные источники данных.
# Пример команды для получения токена Docker Hub
docker login --username=<your-username> --password-stdin <your-token>
Как работает сканер под капотом
- Обнаружение – Aikido определяет базовый образ DHI по метаданным.
- Каталогирование – скачивает подписанный SBOM (SPDX 2.3) через OCI‑lookup или из /opt/docker/sbom/.
- Сопоставление – сопоставляет компоненты по PURL с feed‑ами Docker OSV и upstream‑адвайзерами.
- Применение VEX – накладывает OpenVEX‑заявления Docker, скрывая CVE, отмеченные как решённые.
Как выглядит результат в UI Aikido
В пользовательском интерфейсе отображается только вопрос: «Образ уязвим?» Если VEX‑аттестация говорит, что CVE не применим, он автоматически удаляется из активной очереди. Это экономит время команды и делает отчёт более надёжным для аудиторов.
Практический пример
Предположим, у вас есть образ myorg/hardened-app:latest. После сканирования вы видите, что из 300 CVE остались только 5, которые действительно присутствуют в образе. Один из них – уязвимость в парсере, но Docker отметил её как not_affected, потому что путь к уязвимому коду недоступен. Aikido не показывает его в очереди, но сохраняет аттестацию для аудита.
Преимущества для соответствия требованиям
- Чистый список уязвимостей облегчает подготовку к FedRAMP, SOC 2 и другим стандартам.
- Подписанные аттестации позволяют быстро доказать, что CVE не применим.
- Автоматическое исключение ложных тревог снижает риск «выгорания» команды.
Как начать
- Подключите Docker Hub к Aikido.
- Запустите сканирование репозиториев.
- Проверьте отчёт, убедитесь, что в активной очереди остались только реальные угрозы.
- Если нужно, настройте правила фильтрации в Aikido, чтобы игнорировать определённые типы CVE.
Заключение
Интеграция Aikido с Docker Hardened Images позволяет командам сосредоточиться на реальных угрозах, а не на шуме CVE. Подписанные SBOM и VEX‑аттестации делают сканирование точным и надёжным, а автоматическое исключение ложных тревог экономит время и повышает доверие аудиторов. Если вы ещё не используете DHI, стоит изучить официальную документацию Docker и начать интеграцию с Aikido уже сегодня.