GitRiver GitRiver
EN
Навигация

Безопасность

Поиск секретов, сканирование уязвимостей, проверка лицензий зависимостей, DORA-метрики

GitRiver включает инструменты для анализа безопасности кода: автоматический поиск секретов, импорт результатов внешних сканеров, проверку лицензий зависимостей и DORA-метрики для оценки процессов.

Функции безопасности - Pro. Для доступа пользователю нужно назначенное Pro-место.

Поиск секретов

Что это

При каждом push GitRiver автоматически проверяет изменённые файлы на наличие секретов: API-ключи AWS, токены GitHub, приватные ключи, пароли в конфигах и другие чувствительные данные.

Встроено 17 паттернов для распространённых типов секретов.

Настройка

  1. Откройте репозиторий -> Настройки (шестерёнка) -> Безопасность
  2. Включите «Поиск секретов»
  3. По умолчанию используются все 17 встроенных паттернов

Пользовательские паттерны

Если в вашей компании используются внутренние токены или ключи с особым форматом:

  1. На той же странице Настройки -> Безопасность
  2. Нажмите «Добавить паттерн»
  3. Укажите название и регулярное выражение (regex)

Например, для внутренних API-ключей формата MYCO-xxxx-xxxx:

MYCO-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}

Просмотр результатов

  1. Откройте репозиторий -> вкладка «Безопасность»
  2. Вы увидите список найденных проблем с уровнем критичности
  3. Для каждой - файл, строка, тип секрета
  4. Действия: отклонить (если ложное срабатывание) или исправить (удалить секрет из кода)

Импорт результатов сканирования (SARIF)

Что это

Если вы используете внешние сканеры (Semgrep, Trivy, CodeQL, OSV-Scanner), их результаты можно загрузить в GitRiver в формате SARIF. Это позволяет видеть все проблемы безопасности в одном месте.

Загрузка из CI

Типичный сценарий - запустить сканер в CI-задаче и загрузить результат:

jobs:
  security:
    image: returntocorp/semgrep
    steps:
      - run: semgrep scan --sarif --output results.sarif .
      - run: |
          curl -X POST \
            -H "Authorization: Bearer $CI_JOB_TOKEN" \
            -F "file=@results.sarif" \
            $CI_SERVER_URL/api/v1/repos/$CI_REPOSITORY_OWNER/$CI_REPOSITORY_NAME/security/sarif

Загрузка через интерфейс

  1. Откройте репозиторий -> вкладка «Безопасность»
  2. Нажмите «Загрузить SARIF»
  3. Выберите файл

Проверка лицензий зависимостей

Что это

Проверяет SPDX-лицензии зависимостей вашего проекта. Полезно, если в компании запрещены определённые лицензии (например, GPL в коммерческом продукте).

Настройка политик

  1. Откройте Настройки -> Политики лицензий
  2. Создайте политику:
    • Режим: белый список (разрешены только указанные) или чёрный список (запрещены указанные)
    • Лицензии: выберите SPDX-идентификаторы (MIT, Apache-2.0, GPL-3.0 и т.д.)
  3. Привяжите политику к репозиторию

Запуск сканирования

  1. Откройте репозиторий -> вкладка «Безопасность» -> «Лицензии»
  2. Нажмите «Сканировать»

GitRiver проанализирует lock-файлы проекта (package-lock.json, Cargo.lock, poetry.lock и др.), определит лицензии всех зависимостей (включая транзитивные) и покажет нарушения.

Генерация SBOM

Для аудита или передачи заказчику можно сгенерировать Software Bill of Materials в формате CycloneDX.


DORA-метрики

Что это

Четыре метрики для оценки зрелости DevOps-процессов команды:

МетрикаЧто измеряет
Deployment FrequencyКак часто вы деплоите в production
Lead Time for ChangesСколько времени от коммита до деплоя
Change Failure RateКакой процент деплоев приводит к сбоям
Mean Time to RecoveryКак быстро восстанавливаете после сбоя

Где смотреть

Откройте репозиторий -> вкладка «Аналитика» (или «DORA»). Метрики рассчитываются автоматически на основе данных CI/CD и деплоев.


Журнал аудита

Что это

Полный лог всех действий в системе: кто создал репозиторий, кто изменил права, кто удалил пользователя. Необходим для compliance и расследования инцидентов.

Просмотр

Администрирование -> Аудит

Фильтры: по типу операции, по пользователю, по дате. Типы событий: создание/удаление репозиториев, задач, PR, релизов, изменение прав, форки, push и другие.


IP-ограничения

Что это

Белый или чёрный список IP-адресов для ограничения доступа к инстансу или группе. Полезно, если GitRiver доступен из интернета, но работать должны только из офиса или VPN.

Настройка

  1. Администрирование -> IP-ограничения -> «Добавить правило»
  2. Укажите:
    • IP-адрес или CIDR - например, 10.0.0.0/8 или 203.0.113.42
    • Действие - разрешить или запретить
    • Описание - для чего правило (офис, VPN, CI)

При наличии хотя бы одного allow-правила - доступ разрешён только с указанных адресов.

IP-ограничения также настраиваются на уровне группы: Настройки группы -> IP-ограничения.