Навигация
Безопасность
Поиск секретов, сканирование уязвимостей, проверка лицензий зависимостей, DORA-метрики
GitRiver включает инструменты для анализа безопасности кода: автоматический поиск секретов, импорт результатов внешних сканеров, проверку лицензий зависимостей и DORA-метрики для оценки процессов.
Функции безопасности - Pro. Для доступа пользователю нужно назначенное Pro-место.
Поиск секретов
Что это
При каждом push GitRiver автоматически проверяет изменённые файлы на наличие секретов: API-ключи AWS, токены GitHub, приватные ключи, пароли в конфигах и другие чувствительные данные.
Встроено 17 паттернов для распространённых типов секретов.
Настройка
- Откройте репозиторий -> Настройки (шестерёнка) -> Безопасность
- Включите «Поиск секретов»
- По умолчанию используются все 17 встроенных паттернов
Пользовательские паттерны
Если в вашей компании используются внутренние токены или ключи с особым форматом:
- На той же странице Настройки -> Безопасность
- Нажмите «Добавить паттерн»
- Укажите название и регулярное выражение (regex)
Например, для внутренних API-ключей формата MYCO-xxxx-xxxx:
MYCO-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{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
Загрузка через интерфейс
- Откройте репозиторий -> вкладка «Безопасность»
- Нажмите «Загрузить SARIF»
- Выберите файл
Проверка лицензий зависимостей
Что это
Проверяет SPDX-лицензии зависимостей вашего проекта. Полезно, если в компании запрещены определённые лицензии (например, GPL в коммерческом продукте).
Настройка политик
- Откройте Настройки -> Политики лицензий
- Создайте политику:
- Режим: белый список (разрешены только указанные) или чёрный список (запрещены указанные)
- Лицензии: выберите SPDX-идентификаторы (MIT, Apache-2.0, GPL-3.0 и т.д.)
- Привяжите политику к репозиторию
Запуск сканирования
- Откройте репозиторий -> вкладка «Безопасность» -> «Лицензии»
- Нажмите «Сканировать»
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.
Настройка
- Администрирование -> IP-ограничения -> «Добавить правило»
- Укажите:
- IP-адрес или CIDR - например,
10.0.0.0/8или203.0.113.42 - Действие - разрешить или запретить
- Описание - для чего правило (офис, VPN, CI)
- IP-адрес или CIDR - например,
При наличии хотя бы одного allow-правила - доступ разрешён только с указанных адресов.
IP-ограничения также настраиваются на уровне группы: Настройки группы -> IP-ограничения.