trivy
Trivy — открытый сканер безопасности, который инструкция TerminalSkills предлагает применять к контейнерным образам, файловым системам, Git-репозиториям и инфраструктуре как коду. Его назначение в каталоге — искать уязвимости, ошибки конфигурации и открытые секреты в тех артефактах, которые команда собирается запустить, хранить или передать в развёртывание. Такой набор областей делает навык полезным не только для проверки Docker-образа, но и для общего security-прохода по проекту. Для контейнерного образа исходная инструкция показывает обычный вызов trivy image с именем образа, а также вариант с фильтром CRITICAL,HIGH. Это позволяет отдельно запускать полный поиск и проверку, ориентированную на наиболее серьёзные найденные уязвимости. Результат можно сохранить в JSON через параметр format json и output, поэтому сканирование подходит для последующей обработки в CI или для передачи отчёта другой системе. Примеры используют node:20-alpine и my-app:latest; конкретный образ должен быть заменён на тот, который реально проверяется. Для локального дерева применяется trivy fs. В инструкции отдельно показан запуск с наборами сканеров vuln, secret и misconfig: первый ищет уязвимости, второй — секреты, третий — ошибки конфигурации. Это не требует превращать файловую систему в контейнер и удобно для проверки исходников и собранных файлов до упаковки. Для Git-репозитория применяется та же область работы с репозиториями, а для инфраструктуры как коду предусмотрена команда trivy config. Проверка IaC выполняется с указанием каталога конфигурации. В исходном примере такими каталогами являются terraform и k8s, поэтому навык подходит для Terraform- и Kubernetes-материалов, если они находятся в доступном пути. Команды не скрывают объект аудита: оператор явно задаёт образ или каталог и может выбрать тип сканирования. Это помогает сопоставить отчёт с конкретным артефактом, а не с абстрактным проектом. Инструкция описывает Trivy как бесплатный open-source инструмент, которому не нужен аккаунт для запуска. Локальная база уязвимостей обновляется автоматически, а сканирование заявлено как быстрое. В качестве результата также поддерживается генерация SBOM в форматах CycloneDX и SPDX. Поэтому один и тот же workflow может использоваться для поиска CVE, контроля секретов и подготовки состава компонентов для compliance-задач. Практический сценарий для CI выглядит так: после сборки образа запустить trivy image, ограничить вывод серьёзностями CRITICAL,HIGH, сохранить JSON и использовать результат как условие продолжения pipeline. Для репозитория перед сборкой можно выполнить trivy fs с vuln, secret и misconfig, а конфигурационные каталоги проверить через trivy config. Исходная инструкция отдельно рекомендует применять сканирование в CI, чтобы блокировать развёртывания с критическими CVE; решение о блокировке остаётся частью правил конкретного pipeline. Навык рассчитан на окружения Docker, Linux и macOS. Для установки в инструкции приведён brew install trivy. Если команда уже доступна, дальнейшая работа начинается с выбора объекта: образ, файловая система, Git-репозиторий или каталог IaC. Ограничение сценария определяется тем, что навык задаёт команды сканера и форматы отчёта, но не выбирает за пользователя образ, каталог, severity-порог или способ публикации отчёта. Эти значения нужно задавать явно в соответствии с проверяемым артефактом и политикой проекта.
Для чего подходит
- Сканирование Docker-образов
- Проверка файловой системы и Git-репозитория
- Поиск секретов и IaC misconfiguration
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/TerminalSkills/skills/tree/main/skills/trivy