Анализ безопасности репозитория

Раздел Безопасность в GitVerse предоставляет встроенные инструменты для автоматизированного анализа исходного кода, сторонних библиотек и конфигурационных файлов. Платформа помогает разработчикам и специалистам по ИБ своевременно выявлять уязвимости (CVE), оценивать правовые риски (лицензии) и предотвращать утечки конфиденциальных данных (секретов).

Включение сканирования безопасности

По умолчанию автоматический анализ в репозитории может быть отключен. Для начала работы с инструментами безопасности функциональность необходимо активировать.

Для включения сканирования выполните следующие шаги:

  1. Откройте страницу вашего репозитория в GitVerse.
  2. Перейдите во вкладку Настройки и выберите раздел Безопасность.
  3. Переведите переключатель Раздел «Безопасность» в активное положение.

Info

Время сканирования: Среднее время полного цикла сканирования репозитория (включая поиск манифестов и построение дерева зависимостей) составляет около 10 минут. После завершения процесса результаты появятся во вкладке Безопасность.

Автоматическая проверка запросов на слияние

Вы можете интегрировать сканер безопасности непосредственно в процесс код-ревью. Для этого в разделе Настройки → Безопасность активируйте опцию Автопроверка при запросах на слияние.

При включении этой настройки система будет автоматически запускать сканирование безопасности при каждом создании или обновлении запроса на слияние. Это позволяет выявлять уязвимости и потенциальные утечки секретов в новом коде еще до его добавления в основную ветку проекта.

Разделы вкладки «Безопасность»

После завершения сканирования результаты группируются в специализированной вкладке Безопасность на главной странице репозитория.

Зависимости

Сводная таблица уязвимых сторонних компонентов проекта. Для каждого обнаруженного компонента отображаются его текущая версия, используемая лицензия и список найденных уязвимостей с указанием их приоритета.

Note

Если сторонний компонент не содержит известных уязвимостей, он не будет отображаться в этом списке.

Уязвимости

Таблица со списком найденных известных уязвимостей (CVE). Для каждой из них указываются приоритет критичности, текущая версия библиотеки и версия с исправлением. При клике на любую уязвимость открывается детальная боковая панель, которая содержит:

  • прямые ссылки на внешние базы данных CVE (NVD, GHSA и др.) для глубокого изучения проблемы;
  • граф зависимостей — наглядную цепочку пакетов, показывающую, как именно уязвимая библиотека попала в ваш проект (в том числе транзитивно через другие зависимости).

Лицензии

Список всех обнаруженных в проекте лицензий. Данный раздел помогает оценить уровень лицензионного риска используемых open source решений и проверить их соответствие правовым политикам вашей компании.

Секреты

Список найденных в исходном коде API-ключей, облачных токенов, паролей и приватных ключей. Для каждой находки указывается путь к файлу и точный номер строки. Для быстрого перехода вы можете кликнуть на строку с секретом — система моментально перенаправит вас во встроенный веб-редактор кода, открыв нужный файл точно на проблемной строке.

Warning

Важное правило очистки секретов: Простое удаление строки с токеном из файла и создание нового коммита не удаляет секрет полностью — он останется в истории коммитов Git. Подробные шаги по безопасному удалению данных из истории см. в инструкции по очистке Git-истории.

Выгрузка отчетов

Для проведения внешнего аудита или интеграции со сторонними системами безопасности вы можете экспортировать результаты сканирования. Нажмите кнопку Скачать отчет, чтобы выгрузить данные в формате JSON.

Поддерживаемые языки и пакетные менеджеры

Система анализа автоматически обнаруживает манифесты и lock-файлы вашего проекта.

Для основных экосистем реализована автоматическая гидратация — предварительная установка зависимостей перед сканированием. Это обеспечивает высокую точность определения лицензий и транзитивных уязвимостей.

Языки с полным циклом гидратации (Active Hydration)

Язык / ПлатформаМенеджер пакетовФорматы манифестов и lock-файловЧто сканируется
Pythonpip, Pipenv, Poetry, uvrequirements.txt, Pipfile.lock, poetry.lock, uv.lockУязвимости, Секреты, Лицензии
Node.js / JS / TSnpm, Yarn, pnpmpackage-lock.json, yarn.lock, pnpm-lock.yamlУязвимости, Секреты, Лицензии
Bunbun.lockУязвимости, Секреты
.NET (C#, F#, VB)NuGetpackages.lock.json, *.csprojУязвимости, Секреты, Лицензии
NuGet, .Net CoreDirectory.Packages.props, packages.config, *.deps.jsonУязвимости, Секреты
GoGo Modulesgo.mod, go.sumУязвимости, Секреты, Лицензии
PHPComposercomposer.lock, composer.jsonУязвимости, Секреты, Лицензии
RubyBundlerGemfile.lock, GemfileУязвимости, Секреты

Поддержка других языков (Пассивный анализ lock-файлов)

Для следующих языков и фреймворков автоматическая гидратация не требуется — сканер напрямую проанализирует закоммиченные в репозиторий манифесты и lock-файлы:

Языки без гидратации

Язык / ПлатформаМенеджер пакетовФорматы манифестов и lock-файловЧто сканируется
Java / Scala / KotlinMaven, Gradle, SBTpom.xml, *gradle.lockfile, *.sbt.lockУязвимости, Секреты
RustCargoCargo.lockУязвимости, Секреты
C / C++Conanconan.lockУязвимости, Секреты
SwiftCocoaPods, SwiftPMPodfile.lock, Package.resolvedУязвимости, Секреты
Dartpubpubspec.lockУязвимости, Секреты
ElixirMixmix.lockУязвимости, Секреты
JuliaPkgProject.tomlУязвимости, Секреты

Поиск секретов (Все файлы)

Сканер секретов работает для всех языков без исключения. Он проверяет любые текстовые файлы в репозитории (исходный код, .env, .yaml, .json, скрипты сборки) на наличие утечек токенов, паролей и API-ключей.

Загрузка сторонних SBOM-файлов

Если вы используете другие инструменты для сканирования кода в собственном внешнем контуре CI/CD, вы можете импортировать их отчеты для удобной визуализации результатов прямо в интерфейсе GitVerse.

Warning

Платформа поддерживает импорт спецификаций компонентов исключительно в формате CycloneDX 1.6 JSON. Размер загружаемого файла не должен превышать 50 Мб.

Для загрузки стороннего отчета:

  1. Откройте репозиторий и перейдите во вкладку Безопасность.
  2. В верхнем навигационном меню выберите раздел Загруженные SBOM.
  3. Нажмите кнопку Выберите файл или перетащите ваш .json файл в активную область окна.
  4. После успешной загрузки результаты стороннего сканирования будут доступны для просмотра в виде интерактивных таблиц и графов.