Ребята из GitLab проделали большую работу и адаптировали множество сканеров уязвимостей для автозапуска в своих пайплайнах. Но запускать их можно и вне GitLab.
Код сканеров можно найти здесь: https://gitlab.com/gitlab-org/security-products/analyzers
Для каждого из них в реестре имеется контейнер с соответствующим именем. Например:
docker pull registry.gitlab.com/gitlab-org/security-products/analyzers/brakeman
docker pull registry.gitlab.com/gitlab-org/security-products/analyzers/semgrep
Все сканеры запускаются примерно так:
docker run --rm -m 4g --volume $(pwd):/src --volume $(pwd):/report имя_контейнера /analyzer r --target-dir /src --artifact-dir /report
Запускаем из текущей папки с исходным кодом и получаем отчет в папке report. Дальше парсим json или грузим в Defect Dojo.
Post #9
59