AppScreener
Коммерческий сканер для анализа кода и сервисов компании
Образ с интеграцией: registry.cybercodereview.ru/cybercodereview/security-images/as_integration:v1.0.1
Кастомные импортеры для каждого типа анализа:
В данной интеграции управление сканрованиями реализовано через API AppScreener.
Для работы интеграции, необходимо в Задании указать как минимум следующие переменные окружения:
APPSCREENER_HOST - хост, на котором развернута интсталляция со сканером
APPSCREENER_API_KEY - API ключ для доступа к API интерфейсу сканера (данную переменную рекомендуется задавать в docker-compose или helm-чартах аудитора, а не в Задании)
Остальные переменные окружения пробрасываются автоматически из ASOC:
REPOSITORY - URL репозитория для сканирования в git/https форматах (в случае с SAST или SCA сканированиями)
PRIVATE_SSH_KEY - SSH-ключ для скачивания репозитория из VCS (в случае с SAST или SCA сканированиями). Можно также указать кастомные учетные данные для скачивания репозиториев; об этом позже.
DOMAIN - домен для выполнения динамического анализа (DAST).
В случае, если запуск интеграции производится вне ASOC, данные переменные необходимо будет указать самостоятельно.
Для запуска сканирования через Задание в ASOC в самом простом случае достаточно будет указать команду:
python3 app.py --work_mode sast/sca/dast
Указание нужного типа сканирования инициирует соответствующий тип сканирования в AppScreener.
--work_mode - единственный обязательный параметр при запуске сканирования.
Для вывода всех возможных параметров, можно воспользоваться командой help:
python3 app.py -h
Все возможные опции для конфигурации сканирования:
options:
-h, --help show this help message and exit
--work_mode {sast,sca,dast}
Режимы работы: sast - анализ уязвимостей, sca - анализ библиотек, dast - динамический анализ
--sast_preset SAST_PRESET
Выбор преднастроенного пресета для выполнения SAST-анализа
--project_name PROJECT_NAME
Имя проекта в AppScreener
--vcs_auth_type_sast {vcsAccount,vcsToken,vcsSshKey}
Тип авторизации в систему контроля версий для SAST (если необходимо выбрать преднастроенную в AppScreener авторизацию)
--vcs_auth_type_sca {vcsAccountUuid,vcsTokenUuid,vcsSshUuid}
Тип авторизации в систему контроля версий для SAST (если необходимо выбрать преднастроенную в AppScreener авторизацию)
--vcs_auth_uuid VCS_AUTH_UUID
Идентификатор выбранной учетной записи (если необходимо выбрать преднастроенную в AppScreener авторизацию)
--scan_timeout_limit SCAN_TIMEOUT_LIMIT
Ограничение максимального времени выполнения сканирования в минутах (по дефолту 30 минут)
Пояснения:
--sast_preset - необходим для указания кастомной конфигурации, которая была предаварительно создана в AppScreener.
--project_name - имя проекта внутри AppScreener. Если его не задать, то в случае с sast/sca будет заведено имя проекта, соответствующее CI_PROJECT_PATH_SLUG репозитория. В случае с dast - домен+путь без схемы и парамертов.
--vcs_auth_type_sast - если в AppScreener заведены настройки для клонирования проекта и сканирования, их можно указать с помощью этого ключа. type подразумевает выбор типа учетной записи. Данный параметр используется только для sast и должен задаваться совместно с --vcs_auth_uuid.
--vcs_auth_type_- то же самое, только для sca. Существует как отдельный параметр, поскольку значения типов в AppScreener для sast и sca отличаются.
--vcs_auth_uuid - внутренний UUID конкретной настройки учетной записи внутри AppScreener.
--scan_timeout_limit - если необходимо лимитировать время ожидания сканирования, можно воспользоваться данным параметром. По умолчанию время ожидание - 30 минут.
Last updated