Настройка запуска сканера в режиме lite SBOM в Docker

Чтобы запустить сканер в режиме lite SBOM в Docker:

  1. Укажите обязательные параметры Kaspersky Security для контейнеров:

    -e API_TOKEN=<значение токена API>

    -e API_BASE_URL=https://company.com

    -e API_CA_CERT: <сертификат в формате PEM> или -e SKIP_API_SERVER_VALIDATION=true

  2. При необходимости укажите дополнительные параметры Kaspersky Security для контейнеров.
  3. Укажите образ сканера для запуска:

    repo.kcs.company.com/images/scanner:v2.1.0-lite

  4. Если необходимо сформировать артефакт для скачивания, укажите следующее:

    --<формат артефакта> --stdout > result.<формат файла>

    Например,

    --html --stdout > result.html

  5. Убедитесь, что конфигурационный файл .docker/config.json содержит данные для подключения к реестру с образом сканера. При необходимости выполните команду docker login repo.company.com или docker login repo.kcs.kaspersky.com.
  6. Запустите задачу сканирования.

    Если при вызове сканера появляется ошибка преобразования имени домена Name does not resolve, до переменной API_BASE_URL нужно указать адрес до внутреннего DNS сервера вашей организации. Например,

    --dns 10.0.xx.x

Если образ сканера и образ для проверки хранятся в вашем реестре и вам требуется сформировать артефакт с результатом работы сканера в формате .JSON, данные для запуска сканера заданы следующим образом:

docker run --dns 10.0.10.10 \

-e "API_BASE_URL=https://kcs.company.com" \

-e "SKIP_API_SERVER_VALIDATION=true" \

-e "API_TOKEN=${api_token}" \

-e "COMPANY_EXT_REGISTRY_USERNAME=${user}" \

-e "COMPANY_EXT_REGISTRY_PASSWORD=${password}"

repo.company.com/images/scanner:v2.1.0-lite \

repo.company.com/images/alpine:latest --stdout > result.json

Если образ сканера хранится в публично доступном реестре "Лаборатории Касперского" (узел скачивает этот образ с помощью вашего прокси сервера), образ для проверки хранится локально на узле в виде архива, и вам требуется сформировать артефакт с результатом работы сканера в формате .SPDX, данные для запуска сканера заданы следующим образом:

docker run --dns 10.0.10.10 \

-e "API_BASE_URL=https://kcs.company.com" \

-e "SKIP_API_SERVER_VALIDATION=true" \

-e "API_TOKEN=${api_token}" \

-e "HTTPS_PROXY=http://user:password@client.proxy.com:8080" \

-v ./image_to_scan.tar:/image.tar \

repo.kcs.kaspersky.com/images/scanner:v2.1.0-lite \

image.tar --file --spdx --stdout > result.spdx

Если образ сканера хранится в удаленном реестре, образ для анализа предварительно сохранен на локальном узле в формате OCI-артефакта, и вам требуется сформировать артефакт с результатом работы сканера в формате .SPDX, данные для запуска сканера заданы следующим образом:

docker run --dns 10.0.10.10 \

-e "API_BASE_URL=https://kcs.company.com" \

-e "SKIP_API_SERVER_VALIDATION=true" \

-e "API_TOKEN=${api_token}" \

-e "COMPANY_EXT_REGISTRY_USERNAME=${user}" \

-e "COMPANY_EXT_REGISTRY_PASSWORD=${password}" \

-v ./image_oci_nginx:/image_oci_nginx \

repo.company.com/images/scanner:v2.0.0-lite \

./image_oci_nginx --oci --spdx --stdout > result.spdx

Перед запуском сканера убедитесь, что образ доступен на узле в формате OCI-артефакта. Например, вы можете запустить утилиту skopeo и выполнить следующую команду:
skopeo copy --override-arch amd64 --override-os linux -f oci docker://nginx:latest oci:image_oci_nginx:latest

В начало