Перейти к содержанию

Функциональные характеристики

Общие функциональные характеристики

  • поддержка анализа 18 языков программирования;
  • поддержка анализа манифестов пакетных экосистем: Maven, Gradle, NPM, NuGet, PyPi, Ruby Gems, Cocoapods, Composer, Conan, Go Modules, Cargo и sbt;
  • интеграция с прокси-репозиториями: Nexus Repository Manager, JFrog Artifactory Pro;
  • интеграция с hosted и cloud-системами хостинга кода: Gitlab, Github, Bitbucket и Azure DevOps;
  • универсальная интеграция в системы сборки при помощи агента: Jenkins, Gitlab, Teamcity и пр;
  • ведение реестра компонентных связей (SBoM, Software Bill of Materials);
  • построение отчетности;
  • управление политиками оповещений;
  • интеграция для почтовых уведомлений;
  • интеграция с системой управления задачами Jira;
  • система управления пользователями и интеграция через LDAP;
  • разграничение прав доступа для разных пользователей;
  • журналирование всех выполняемых операций (аудит-лог);
  • открытый API для интеграции с любым элементом системы.

Функциональные характеристики SCA (Software Composition Analysis)

  • анализ Docker-образов;
  • анализ системных пакетов;
  • анализ манифестов пакетных менеджеров;
  • проверка Open Source на всех этапах цикла DevSecOps с возможностью задания политик безопасности для отдельных стадий проекта (stages):
    • непрерывный мониторинг (сканирование веток репозиториев);
    • пост-релизный мониторинг (сканирование тегов репозиториев);
    • проверка в CI-конвейере универсальным агентом с возможностью блокирования сборки;
    • проверка на локальной машине разработчика (agent CLI);
  • обнаружение Open Source зависимостей:
    • по экосистеме, названию и версии пакета;
    • по файлам конфигураций (манифестам) пакетных менеджеров;
    • через механизм разрешения транзитивных зависимостей;
    • через механизм идентификации Open Source-включений по вендорской базе мета-данных, с применением алгоритмов гибкого поиска;
  • разделение директивных и транзитивных зависимостей и определение отношения к окружениям (scope) разработки: runtime, compile, test, provided и другим;
  • построение графа зависимостей с возможностью трассирования использования транзитивных компонентов;
  • актуализация информации об обнаруженных зависимостях:
    • общая информация о зависимости: способ обнаружения; дата релиза пакета; автор пакета; официальная веб-страница; ссылка на размещение в пакетном индексе; окружение применения (scope) и ссылка на граф связей; ссылка на манифест;
    • информация об уязвимостях;
    • информация о лицензиях;
    • используемость в проектах организации;
  • предоставление информации об уязвимостях:
    • идентификаторы в базах знаний;
    • описание уязвимости;
    • оценка критичности по CVSS 2 и CVSS 3.1;
    • ссылки на дополнительные индексы уязвимостей;
    • рекомендуемая версия пакета для обновления;
    • перечень всех проектов задетых уязвимостью;
    • дополнительные ссылки на уязвимости содержащие ссылки на патчи, эксплоиты и уязвимые коммиты;
  • предоставление информации о лицензиях:
    • лицензионный ландшафт проекта;
    • SPDX-идентификатор лицензии;
    • текст лицензии;
    • краткое представление об условиях лицензии;
    • информация о совместимости лицензий (license compliance);
  • определение и дедупликация уязвимостей из баз знаний:
    • NIST National Vulnerability Database (NVD);
    • Банк данных угроз безопасности информации (БДУ ФСТЭК);
    • Github Security Advisory (GHSA);
    • Open Source Vulnerabilities (OSV);
    • Sonatype OSSIndex;
    • Kaspersky Open Source Software Threats Data Feed;
    • Вендорский фид (protestware).
  • настройка критериев безопасности (политик) по 30 критериям, включая:
    • метаданные пакетов: название, версия, автор пакета, возраст, дата;
    • критерии уязвимостей: идентификатор, score, severity, publish date;
    • категории и типы лицензий, политику лицензионной чистоты от вендора;
    • по признакам применения пакета: директивный/транзитивный и окружение (scope);
    • по черным спискам пакетов, включая подготовленный фид toxic-repos (protestware);
  • настройка политик безопасности отдельно для сканирования кода в репозиториях, в прокси-репозиториях, CI-конвейере и локальной машине разработчика с указанием стадий разработки проекта (stages);
  • система отображения результатов сканирований для каждого отдельного этапа и возможность управления игнорируемыми событиями;
  • возможность настройки защиты от популярных атак на цепочку поставки;
  • возможность настройки игнорирования политик срабатывания в разных сочетаниях на уровне всей организации: проекта; технологии; пакета; типа лицензии; идентификатора уязвимости; для отдельных политик; возможность задания временного игнорирования события (с-по).

Функциональные характеристики TQI (Teams & Quality Intelligence)

  • построение профиля проектов, детализация технического и авторского состава разработки;
  • построение профиля разработчиков, детализация их работы в анализируемых проектах с учетом объема работ и качества произведенных изменений;
  • автоматический скоринг схожих разработчиков в анализируемых проектах:
    • по опыту в проектах и технологиях;
    • по схожести технической базы;
    • по близости качественных характеристик;
  • поиск активности разработчиков в Open Source проектах;
  • анализ заимствований с применением алгоритмов нечеткого поиска (толерантность к переименованиям объектов в коде):
    • поиск внутри-проектных дубликатов кода;
    • поиск кросс-проектных дубликатов кода;
    • определение объема найденных заимствований;
    • построение интерактивной карты заимствований;
    • определение времени возникновения заимствования;
    • привязка авторства к найденным дубликатам кода;
  • оценка сложности сопровождения проекта:
    • расчет цикломатической сложности кода в разрезе проекта;
    • расчет цикломатической сложности кода в разрезе автора;
  • построение аналитических ретроспективных карт:
    • развития проектов;
    • работы авторов;
    • эволюции сложности проектов.
  • встраивание в цикл разработки программного обеспечения (SDLC) посредством интеграции с системами версионирования исходного кода.