Анализ безопасности репозитория
Раздел Безопасность в GitVerse предоставляет встроенные инструменты для автоматизированного анализа исходного кода, сторонних библиотек и конфигурационных файлов. Платформа помогает разработчикам и специалистам по ИБ своевременно выявлять уязвимости (CVE), оценивать правовые риски (лицензии) и предотвращать утечки конфиденциальных данных (секретов).
Включение сканирования безопасности
По умолчанию автоматический анализ в репозитории может быть отключен. Для начала работы с инструментами безопасности функциональность необходимо активировать.
Для включения сканирования выполните следующие шаги:
- Откройте страницу вашего репозитория в GitVerse.
- Перейдите во вкладку Настройки и выберите раздел Безопасность.
- Переведите переключатель Раздел «Безопасность» в активное положение.
Info
Время сканирования: Среднее время полного цикла сканирования репозитория (включая поиск манифестов и построение дерева зависимостей) составляет около 10 минут. После завершения процесса результаты появятся во вкладке Безопасность.
Автоматическая проверка запросов на слияние
Вы можете интегрировать сканер безопасности непосредственно в процесс код-ревью. Для этого в разделе Настройки → Безопасность активируйте опцию Автопроверка при запросах на слияние.
При включении этой настройки система будет автоматически запускать сканирование безопасности при каждом создании или обновлении запроса на слияние. Это позволяет выявлять уязвимости и потенциальные утечки секретов в новом коде еще до его добавления в основную ветку проекта.
Разделы вкладки «Безопасность»
После завершения сканирования результаты группируются в специализированной вкладке Безопасность на главной странице репозитория.
Зависимости
Сводная таблица уязвимых сторонних компонентов проекта. Для каждого обнаруженного компонента отображаются его текущая версия, используемая лицензия и список найденных уязвимостей с указанием их приоритета.
Note
Если сторонний компонент не содержит известных уязвимостей, он не будет отображаться в этом списке.
Уязвимости
Таблица со списком найденных известных уязвимостей (CVE). Для каждой из них указываются приоритет критичности, текущая версия библиотеки и версия с исправлением. При клике на любую уязвимость открывается детальная боковая панель, которая содержит:
- прямые ссылки на внешние базы данных CVE (NVD, GHSA и др.) для глубокого изучения проблемы;
- граф зависимостей — наглядную цепочку пакетов, показывающую, как именно уязвимая библиотека попала в ваш проект (в том числе транзитивно через другие зависимости).
Лицензии
Список всех обнаруженных в проекте лицензий. Данный раздел помогает оценить уровень лицензионного риска используемых open source решений и проверить их соответствие правовым политикам вашей компании.
Секреты
Список найденных в исходном коде API-ключей, облачных токенов, паролей и приватных ключей. Для каждой находки указывается путь к файлу и точный номер строки. Для быстрого перехода вы можете кликнуть на строку с секретом — система моментально перенаправит вас во встроенный веб-редактор кода, открыв нужный файл точно на проблемной строке.
Warning
Важное правило очистки секретов: Простое удаление строки с токеном из файла и создание нового коммита не удаляет секрет полностью — он останется в истории коммитов Git. Подробные шаги по безопасному удалению данных из истории см. в инструкции по очистке Git-истории.
Выгрузка отчетов
Для проведения внешнего аудита или интеграции со сторонними системами безопасности вы можете экспортировать результаты сканирования. Нажмите кнопку Скачать отчет, чтобы выгрузить данные в формате JSON.
Поддерживаемые языки и пакетные менеджеры
Система анализа автоматически обнаруживает манифесты и lock-файлы вашего проекта.
Для основных экосистем реализована автоматическая гидратация — предварительная установка зависимостей перед сканированием. Это обеспечивает высокую точность определения лицензий и транзитивных уязвимостей.
Языки с полным циклом гидратации (Active Hydration)
| Язык / Платформа | Менеджер пакетов | Форматы манифестов и lock-файлов | Что сканируется |
|---|---|---|---|
| Python | pip, Pipenv, Poetry, uv | requirements.txt, Pipfile.lock, poetry.lock, uv.lock | Уязвимости, Секреты, Лицензии |
| Node.js / JS / TS | npm, Yarn, pnpm | package-lock.json, yarn.lock, pnpm-lock.yaml | Уязвимости, Секреты, Лицензии |
| Bun | bun.lock | Уязвимости, Секреты | |
| .NET (C#, F#, VB) | NuGet | packages.lock.json, *.csproj | Уязвимости, Секреты, Лицензии |
| NuGet, .Net Core | Directory.Packages.props, packages.config, *.deps.json | Уязвимости, Секреты | |
| Go | Go Modules | go.mod, go.sum | Уязвимости, Секреты, Лицензии |
| PHP | Composer | composer.lock, composer.json | Уязвимости, Секреты, Лицензии |
| Ruby | Bundler | Gemfile.lock, Gemfile | Уязвимости, Секреты |
Поддержка других языков (Пассивный анализ lock-файлов)
Для следующих языков и фреймворков автоматическая гидратация не требуется — сканер напрямую проанализирует закоммиченные в репозиторий манифесты и lock-файлы:
Языки без гидратации
| Язык / Платформа | Менеджер пакетов | Форматы манифестов и lock-файлов | Что сканируется |
|---|---|---|---|
| Java / Scala / Kotlin | Maven, Gradle, SBT | pom.xml, *gradle.lockfile, *.sbt.lock | Уязвимости, Секреты |
| Rust | Cargo | Cargo.lock | Уязвимости, Секреты |
| C / C++ | Conan | conan.lock | Уязвимости, Секреты |
| Swift | CocoaPods, SwiftPM | Podfile.lock, Package.resolved | Уязвимости, Секреты |
| Dart | pub | pubspec.lock | Уязвимости, Секреты |
| Elixir | Mix | mix.lock | Уязвимости, Секреты |
| Julia | Pkg | Project.toml | Уязвимости, Секреты |
Поиск секретов (Все файлы)
Сканер секретов работает для всех языков без исключения. Он проверяет любые текстовые файлы в репозитории (исходный код, .env, .yaml, .json, скрипты сборки) на наличие утечек токенов, паролей и API-ключей.
Загрузка сторонних SBOM-файлов
Если вы используете другие инструменты для сканирования кода в собственном внешнем контуре CI/CD, вы можете импортировать их отчеты для удобной визуализации результатов прямо в интерфейсе GitVerse.
Warning
Платформа поддерживает импорт спецификаций компонентов исключительно в формате CycloneDX 1.6 JSON. Размер загружаемого файла не должен превышать 50 Мб.
Для загрузки стороннего отчета:
- Откройте репозиторий и перейдите во вкладку Безопасность.
- В верхнем навигационном меню выберите раздел Загруженные SBOM.
- Нажмите кнопку Выберите файл или перетащите ваш
.jsonфайл в активную область окна. - После успешной загрузки результаты стороннего сканирования будут доступны для просмотра в виде интерактивных таблиц и графов.