Работа со ScanSuite

(Опционально) Сборка кода

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

Некоторым сканерам для Java и C#/.NET (CodeQL, FindSecBugs на базе SpotBugs, Security Code Scan и другим) перед анализом нужно инструментировать код, то есть прогнать его через процесс, похожий на сборку. Они запускаются вместе со сканером Полный для языка, выбранного в поле Основной язык. Собрать код не всегда просто: он должен быть полным, а зависимости — лежать рядом или загружаться из внутреннего репозитория артефактов либо из интернета.

Спросите у разработчиков, как получить собираемую версию кода. Потраченное время обычно окупается качеством результатов.

Ниже приведён пример для Java-проектов, которые собираются Maven. CodeQL, FindSecBugs и похожие сканеры поддерживают Maven, Gradle, Ant и ряд других систем сборки: они сами попытаются скачать зависимости по адресам из pom.xml и собрать код для анализа.

Репозиторий зависимостей доступен

Ничего делать не нужно. Этот вариант подходит, если сканер может обратиться к репозиторию зависимостей без аутентификации, например через интернет.

Репозиторий зависимостей недоступен

Скачайте зависимости заранее и положите их рядом с исходным кодом. Для Maven достаточно одной команды в папке с кодом:

Терминал
./mvnw dependency:go-offline
Вывод команды Maven go-offline
Кэширование зависимостей Maven

Maven скачивает зависимости и сохраняет их в папке ~/.m2:

Локальный репозиторий Maven
Папка ~/.m2 с загруженными зависимостями

Эти модули можно передать в ScanSuite, установленный без доступа в интернет. Скопируйте содержимое ~/.m2 в папку dependency в корне исходного кода и загрузите ZIP-архив через веб-интерфейс как обычно. CodeQL и FindSecBugs используют эту папку как локальный репозиторий Maven (~/.m2):

Архив с закэшированными зависимостями
Папка dependency внутри загружаемого архива

Проверено: 2026-09-30