Перейти к содержимому
traio.kz

Gitlab Semgrep

Gitlab Semgrep — это статический анализатор кода (SAST), интегрированный в TRAIO и основанный на официальном GitLab Semgrep Analyzer. Поддерживает анализ более 15+ языков программирования с использованием актуальных правил-паттернов GitLab.

Gitlab Semgrep в TRAIO поддерживает сканирование следующих языков:

  • C# (.NET)
  • C
  • C++
  • Go
  • Kotlin
  • Java
  • JavaScript
  • Objective-C
  • PHP
  • Python
  • Ruby
  • Rust
  • Scala
  • Swift
  • TypeScript

Актуальный и полный список поддерживаемых языков — в документации Gitlab Semgrep

  • Анализ кода на уязвимости по правилам GitLab SAST
  • Быстрый запуск без ручной настройки (“из коробки”)
  • Поддержка мульти-языковых проектов
  • Результаты в едином формате для отчётов и дашбордов TRAIO

Сканер использует официальный docker-образ:

registry.gitlab.com/gitlab-org/security-products/analyzers/semgrep:latest

При запуске выполняется команда:

/analyzer run
if [ ! -f "$REPORT_FILE_NAME" ]; then
touch "$REPORT_FILE_NAME"
echo "Created $REPORT_FILE_NAME manually."
fi
mv $REPORT_FILE_NAME /data
Имя Значение по умолчанию Обязательное Описание
REPORT_FILE_NAME gl-sast-report.json Нет Имя итогового отчёта
SCAN_TYPE GitLab Semgrep Нет Тип сканирования для парсинга
SEARCH_MAX_DEPTH 20 Нет Глубина обхода директорий
REPOSITORY (указывается автоматический) Да Путь или URL к проекту
  • allow_failure: True — ошибки сканера не прерывают пайплайн
  • overwrite_entrypoint: True — позволяет явно задавать run_command
  • timeout: 10 минут (можно увеличить при необходимости)
  • Собственные rulesets: можно указать свой набор правил через переменную SEMGREP_RULES (ссылка или путь к YAML/JSON)
  • Глубина и скорость: регулируется через SEARCH_MAX_DEPTH, .semgrepignore, SEMGREP_EXCLUDE
  • Ограничение времени: переменная SEMGREP_TIMEOUT (например, 600 секунд)
  • Дополнительные параметры: через SEMGREP_ADDITIONAL_ARGS (например, --strict, --max-target-bytes)

Подробнее о кастомизации — Customize rulesets (GitLab) и Semgrep Registry.

  • Быстрый старт SAST-анализа для любого проекта (без ручной настройки)
  • Проверка кода на соответствие стандартам безопасности и compliance
  • Итоговый отчёт всегда сохраняется в /data и доступен для последующей обработки в TRAIO