Інструмент для створення та управління каталогом програмного забезпечення

Ключові вимоги

  • Створення каталогу програмного забезпечення

  • Можливість відслідковування певних компонентів та їх використання на платформі

  • Отримання відомосей про:

    • Компоненти з відомими вразливостями

    • Застарілі компоненти

    • Модифіковані компоненти

    • Ліцензійні ризики

Вибраний інструмент

Dependency-Track — це інтелектуальна платформа аналізу компонентів, яка дозволяє організаціям виявляти та зменшувати ризики в ланцюжку постачання програмного забезпечення. Dependency-Track використовує унікальний і дуже вигідний підхід, використовуючи можливості Software Bill of Materials (SBOM). Цей підхід надає можливості, яких не можуть досягти традиційні рішення аналізу складу програмного забезпечення (SCA).

Dependency-Track відстежує використання компонентів у всіх версіях кожної програми у своєму портфоліо, щоб завчасно визначати ризики в організації. Платформа має API-first дизайн та ідеально підходить для використання в середовищах CI/CD.

Переваги та недоліки

Переваги

Недоліки

  • Безкоштовний інструмент з відкритим вихідним кодом (https://github.com/DependencyTrack/dependency-track)

  • Приймає BOM у стандартизованому форматі CycloneDX

  • Працює з BOM файлами які було створені на базі контейнерів, аплікацій (maven Bom, node Bom і т.і.) або з об’єднаними файлами вищепереліченого походження

  • Створення внутрішньої категоризації продуктів

  • Інтеграція з системою управління проєктами Jira

  • Сканування компонентів на наявність вразливостей з використанням багаттьох джерел як NVD (National Vulnerability Database), Github Advisories, Google OSV Advisories та інші.

  • Можливість підключення комерційних сервісів для розширення можливостей по визначенню вразливостей

  • Можливість налаштування автентифікації на базі технології єдиного входу (SSO) (https://docs.dependencytrack.org/getting-started/openidconnect-configuration/)

  • Визначення версії компонента та перевірка на навність оновлень

  • Визначення ліцензії компонента

  • Механізм написання політик для попередження про навність вразливостей, ліцензійних проблем тощо.

  • Інтеграція з системою керування вразливостями DefectDojo

  • Побудова інтерактивного графа залежностей

  • Наявність APi для кастомних інтеграційних рішень

  • Допомагає визначити пріоритети мітігації вразливостей за рахунок підтримки Exploit Prediction Scoring System (EPSS)

  • Розвинута дашборда

  • Інтеграція з Jenkins

  • Розгортання засобами Helm

  • Граф залежностей створюється залежно від мови програмування та пакетного менеджеру проекту що сканувався. Тобто функціональність працює не для всіх проектів.

  • Механізм визначення вразливостей працює на відкритих та безкоштовних базах що впливає на його точність

  • Недосконалий механізм пошуку та взаємодії з веб інтерфейсом

  • Недостатній функціонал політик дуже звужує можливості їх використання

  • Затримка при синхронізації з системою керування вразливостями

  • Відсутність централізованого механізму отримання оповіщень про вихід нових версій