Golang, как один из самых популярных серверных языков последних лет, очень любим программистами. Автор также недавно начал использовать его, особенно в сценариях с высоким уровнем параллелизма, преимущества простоты использования golang весьма очевидны. на этот раз автор. Я хочу представить не сам golang, а инструмент сканирования уязвимостей кода golang. В конце концов, безопасность серверной программы всегда была областью, которая игнорировалась.
Является ли Trivy мощным инструментом сканирования уязвимостей?,Сценарии его применения не толькоуровень кода,кромеЗеркальный уровень,И не только может сканировать Golang,Также можно сканироватьBundler、Composer、Pipenv、Poetry、npm、yarn、Cargo、NuGet、Maven
и т. д. язык。На самом деле, Триви в основном обнаруживает:
пакет операционной системы (Alpine、Red Hat Universal Base Image、Red Hat Enterprise Linux、CentOS、Oracle Linux、Debian、Ubuntu、Amazon Linux、openSUSE Leap、SUSE Enterprise Linux、Photon OS и Distroless
и т.д.) и зависимости приложения (Bundler、Composer、Pipenv、Poetry、npm、yarn、Cargo、NuGet、Maven и Go
и т. д.) уязвимости и ошибки конфигурации.
На самом деле, Триви прост в использовании.,Просто установите двоичные файлы,Вы готовы к сканированию. Поэтому обычно рекомендуется использовать его в конвейере CI.,и,Благодаря двум возможностям сканирования кода и сканирования изображений,Таким образом, они могут быть соответственноОбъединение кода начаточасиловитьУстное тестирование вариантов использованияДобавьте первые два шага
Порекомендуйте универсальный способ установки.:
1.существоватьhttps://> github.com/aquasecurity/trivy/releases
Найдите последний пакет выпуска и загрузите его.
2.Разархивировать:tar -xzf ./trivy.tar.gz
3.Добавить разрешения для исполняемых файлов:chmod +x ./trivy
4.вставитьPath:mv ./trivy /usr/local/bin/
5. Остальные файлы поместите в фиксированное место:
О том, почему мы это делаем, мы поговорим позже.
Информацию о других методах установки в различных версиях Linux, Mac и других средах, запуске Docker и других методах см.:
1.https://github.com/aquasecurity/trivy
2.https://aquasecurity.github.io/trivy/v0.45/getting-started/installation/
Объекты, которые Trivy может сканировать, включают::
Проблемы, которые триви может обнаружить, включают:
На этот раз я в основном представляю SBOM. То есть уязвимость зависимых пакетов
1.Основное использование команд:
trivy -h
Получите следующую картинку:
Для более подробной информации, пожалуйста, обратитесь к:
https://aquasecurity.github.io/trivy/v0.37/docs/references/cli/sbom/
Пример сканирования изображения:
trivy image 8bcba6ed2605
Результат следующий:
Поскольку все параметры установлены по умолчанию, они отображаются в виде консольных диаграмм.
Пример сканирования файловой системы:
trivy fs ./
Результат следующий:
Например, хост, образ виртуальной машины или файловая система разархивированного образа контейнера.
Git Пример сканирования уязвимостей репозитория:
trivy repo https://github.com/test/text.git
Результат следующий:
При необходимости сюда можно добавить параметры, например:
Я просто хочу отсканировать исправленные ошибки:
trivy repo https://github.com/test/text.git --ignore-unfixed
Надеюсь, что результаты сканирования будут отображены в формате json:
trivy repo https://github.com/test/text.git -f json
Надеюсь, что результаты сканирования будут отображены в виде веб-страницы:
trivy repo https://github.com/test/text.git --format template --template "@./trivy/contrib/html.tpl" -o qapm_report.html
Здесь используются шаблоны, то есть папка для сохранения в дополнение к упомянутым ранее исполняемым файлам. Адрес после --template внутри является официальным шаблоном. Здесь используется шаблон веб-страницы.
Вот еще один момент:
Чтобы объяснить, что такое Gradle, мы должны сначала понять термин — Build Tool. Инструменты сборки, как следует из названия, представляют собой инструменты для сборки. Сборка включает в себя компиляцию, компоновку, упаковку кода в удобную или исполняемую форму и так далее. Если инструменты сборки не используются, разработчикам загрузку зависимостей, компиляцию исходных файлов в двоичный код, упаковку и другие задачи необходимо выполнять вручную шаг за шагом. Но если мы используем инструмент сборки, нам нужно только написать сценарий инструмента сборки, и инструмент сборки автоматически выполнит за нас эти задачи.
Если в проекте есть проекты Java, проекты Android, масштабируемые проекты и т. д. могут быть построены с использованием gradle.
Конечно, при сканировании здесь сначала необходимо создать среду:
1. Сначала добавьте: в файл build.gradle:
2. Создайте файл блокировки в каталоге статистики файла Gradle:
./gradle dependencies --write-locks
3. Выполните сканирование
trivy repo https://github.com/test/text.git --format template --template "@./trivy/contrib/html.tpl" -o qapm_report.html
Это отсканирует его
Ссылки: