Системный журнал — практичная база знаний по VPS и Linux
docker • 10 минут

Как 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>

Как работает сканер под капотом

  1. Обнаружение – Aikido определяет базовый образ DHI по метаданным.
  2. Каталогирование – скачивает подписанный SBOM (SPDX 2.3) через OCI‑lookup или из /opt/docker/sbom/.
  3. Сопоставление – сопоставляет компоненты по PURL с feed‑ами Docker OSV и upstream‑адвайзерами.
  4. Применение VEX – накладывает OpenVEX‑заявления Docker, скрывая CVE, отмеченные как решённые.

Как выглядит результат в UI Aikido

В пользовательском интерфейсе отображается только вопрос: «Образ уязвим?» Если VEX‑аттестация говорит, что CVE не применим, он автоматически удаляется из активной очереди. Это экономит время команды и делает отчёт более надёжным для аудиторов.

Практический пример

Предположим, у вас есть образ myorg/hardened-app:latest. После сканирования вы видите, что из 300 CVE остались только 5, которые действительно присутствуют в образе. Один из них – уязвимость в парсере, но Docker отметил её как not_affected, потому что путь к уязвимому коду недоступен. Aikido не показывает его в очереди, но сохраняет аттестацию для аудита.

Преимущества для соответствия требованиям

  • Чистый список уязвимостей облегчает подготовку к FedRAMP, SOC 2 и другим стандартам.
  • Подписанные аттестации позволяют быстро доказать, что CVE не применим.
  • Автоматическое исключение ложных тревог снижает риск «выгорания» команды.

Как начать

  1. Подключите Docker Hub к Aikido.
  2. Запустите сканирование репозиториев.
  3. Проверьте отчёт, убедитесь, что в активной очереди остались только реальные угрозы.
  4. Если нужно, настройте правила фильтрации в Aikido, чтобы игнорировать определённые типы CVE.

Заключение

Интеграция Aikido с Docker Hardened Images позволяет командам сосредоточиться на реальных угрозах, а не на шуме CVE. Подписанные SBOM и VEX‑аттестации делают сканирование точным и надёжным, а автоматическое исключение ложных тревог экономит время и повышает доверие аудиторов. Если вы ещё не используете DHI, стоит изучить официальную документацию Docker и начать интеграцию с Aikido уже сегодня.