Как запустить сканирование Trivy в Windows?

На странице установки Trivy нет упоминания о Windows.

У меня установлен Docker для Windows, поэтому метод Docker выглядит многообещающим, но есть пара вещей, в которых я не уверен:

  1. Что мне следует установить в каталог кеша?
  2. Мне нужно будет «смонтировать docker.sock»? И если да, нужно ли мне заменять /var/run каталог в этой команде с чем-то еще "Windows-ey"?

Цель состоит в том, чтобы отсканировать образ, созданный с помощью Docker для Windows.

7 ответов

Решение
  1. Установить Docker для Windows
  2. Установите Git Bash
  3. Откройте оболочку Git Bash в Windows
  4. Выполнил команду: docker pull aquasec / trivy:0.19.2
  5. docker run --rm -v C:\Users<имя вашей папки>: / root / .cache/ aquasec / trivy:0.19.2 aquasec / trivy:0.19.2 python:3.4-alpine
  6. Сканирование начнется. Ответ на любой ответ может занять несколько минут.

Установив Docker Deskttop для Windows, вы можете открыть терминал (рекомендуется PowerShell для следующей команды).

Вы можете использовать свой фактический путь с помощью этой команды. Это лучше, чем использовать абсолютные пути. Кроме того, вы можете установить докер-сокет на тривиалку для сканирования загруженных изображений.

В принципе, я не думаю, что это достижимо для этого точного сценария. Ближайший способ - запустить trivy в WSL, но технически это не работает напрямую в Windows.

https://github.com/aquasecurity/trivy/issues/1103

  1. Установите Go (https://go.dev/doc/install)
  2. Потяните Trivy и перейдите в извлеченный каталог
      git clone --depth 1 --branch v0.32.0 https://github.com/aquasecurity/trivy
cd trivy
  1. Установить Trivy

go install .\cmd\trivy

Можно запустить сканирование, выполнив следующую команду для сканирования манифеста:

docker run --rm -v C:/projects/abc:/test aquasec/trivy:latest --exit-code 0 --severity UNKNOWN,LOW,MEDIUM,HIGH,CRITICAL --format template --template "@contrib/ html.tpl" -o /test/manifest-scanning-report.html config /test/k8s_dir

Это создаст файл Manifest-scanning-report.html в папке C:/projects.

Сначала я использовал WSL для сканирования контейнеров Windows. Наконец, я использовал компилятор go для сборки trivy.exe.

Оба эти 2 способа работают хорошо.

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

Откройте оболочку Git Bash в Windows. Выполните следующие команды:

  1. docker pull aquasec/trivy:latest
  2. docker run --rm -v [YourLocalDir]:/root/.cache/ aquasec/trivy:latest [COMMAND_TO_RUN] [YOUR_IMAGE_NAME]

Например, если вы хотите запустить сканирование образа докера, выполните команду ниже.

docker run --rm -v ./:/root/.cache/ aquasec/trivy:latest image ubuntu:22.04

Вы также можете сканировать файловую систему, Kubernetes и другие вещи, изменив COMMAND_TO_RUN. Справочный документ: https://aquasecurity.github.io/trivy/v0.22.0/getting-started/cli/

Другие вопросы по тегам