Перейти к основному содержимому
Monolit

Monolit / Архив 1.3.2

Руководство пользователя

Приложения, аналитика, уязвимости, соответствие ГОСТ Р 56939-2024, отчёты и интеграции.

Это документация Monolit 1.3.2. Актуальная версия — 1.3.4.

Открыть актуальную

Архивная версия · Monolit v1.3.2
Это снимок документации на момент релиза 1.3.2. Описанное здесь поведение может отличаться от текущей версии продукта.
Актуальная документация

Введение

Monolit — платформа безопасной разработки (AppSec), автоматизирующая шесть типов анализа: SAST, SCA, Secret Scanning, Config Scanning, Linters и DAST. Платформа запускает несколько сканеров параллельно и предоставляет единый веб-интерфейс для управления уязвимостями, приложениями, соответствием ГОСТ Р 56939-2024 и формирования PDF-отчётов.

Основные возможности

Monolit предназначена для команд, которые внедряют практики безопасной разработки.

  • Развёртывание. Платформа поставляется собранными образами и разворачивается скриптом install.sh в Docker Compose или Helm-чартом в Kubernetes.
  • Состав инструментов. В комплект входят 15 инструментов анализа и 6 классов проверок; закупать, обновлять и сопровождать их отдельно не нужно. Дополнительно подключаются коммерческие сканеры PT AI, Solar AppScreener и CodeScoring.
  • Интеграция с CI/CD. Платформа принимает код и запускает сканирование по HTTP API, поэтому проверка встраивается в сборку GitLab CI, Jenkins и других систем.
  • Управление уязвимостями. Приоритизация, статусы, комментарии и контроль исправления живут внутри платформы; при подключении Jira уязвимость выгружается в трекер одной кнопкой.
  • Дедупликация находок. Одну и ту же проблему, найденную несколькими сканерами, платформа сводит в одну уязвимость: разработчик получает одну задачу вместо трёх тикетов про один баг.

Подготовка к работе

Вход в систему​

В случае недоступности регистрации запросите учётные данные для входа у вашего администратора. Для демонстрационной установки вы можете использовать пользователя по умолчанию со следующими учётными данными: demo@example.com : demo.

  1. Перейдите на страницу входа «Вход в Monolit».
  2. Введите свой email и пароль.
  3. Нажмите кнопку «Войти».

Вход в систему

Описание операций

Работа с приложениями​

Просмотр списка приложений​

  1. Перейдите в раздел «Приложения» через главное меню.
  2. Вверху располагается поле «Поиск по приложениям», справа — кнопка «+ Добавить приложение».
  3. Таблица отображает следующие колонки:
    • Приоритет / Название / ID / Автор — основная информация о приложении
    • Языки — языки программирования приложения
    • Сканеры — используемые типы сканирования (SAST, SCA, Secret scan, Config scan, Linters)
    • Создано — дата создания приложения
    • Сканировалось — дата последнего сканирования
    • Статус сканирования — текущее состояние (например, «Завершено»)
  4. Для каждого приложения отображаются бейджи с количеством уязвимостей по уровням критичности.

Список приложений

Добавление нового приложения​

Процесс добавления приложения состоит из двух этапов.

Шаг 1: Общая информация​

  1. Перейдите в раздел «Приложения».
  2. Нажмите «+ Добавить приложение» в правом верхнем углу.
  3. В открывшемся окне заполните вкладку «Общая информация»:
    • Название* — введите название приложения
    • Описание — опишите приложение (опционально)
  4. Нажмите «Далее».

Форма добавления приложения: общая информация

Шаг 2: Объект сканирования​

  1. Перейдите на вкладку «Объект сканирования».

  2. Выберите источник кода, переключаясь между вкладками:

    • GitLab — подключение к GitLab-репозиторию
    • GitHub — подключение к GitHub-репозиторию
    • Gitea — подключение к Gitea-репозиторию
    • Bitbucket — подключение к Bitbucket Data Center / Server
    • ZIP-архив — загрузка архива с исходным кодом
  3. Для GitLab / GitHub / Gitea / Bitbucket заполните поля:

    • Название* — имя подключения
    • Токен* — персональный токен доступа (для GitLab: glpat-…, для GitHub: github_pat_…, для Gitea: gitea-…, для Bitbucket: HTTP access token)
    • URL* — адрес сервера (например, https://gitlab.com, https://api.github.com, https://gitea.com, https://bitbucket.org)
    • Нажмите кнопку проверки доступа — при успешном подключении создаётся сохранённое подключение
    • Выберите подключение* — выбор из ранее сохранённых подключений
    • Выберите репозиторий* — выбор из списка репозиториев
    • Выберите ветку* — ветка для сканирования

Форма добавления приложения: объект сканирования (GitLab)

  1. Для ZIP-архива нажмите на область загрузки или перетащите ZIP-файл.

Форма добавления приложения: загрузка архива

  1. Нажмите «Добавить приложение».

Лимит по лицензии. Лицензия может ограничивать максимальное количество приложений на инсталляции. Если лимит исчерпан, при создании появится сообщение об ошибке — обратитесь к администратору системы для расширения лицензии или удаления неиспользуемых приложений.

Запуск сканирования​

  1. В списке приложений нажмите кнопку «▶ Запустить» напротив нужного приложения.
  2. Откроется модальное окно «Настройки сканирования».

Полное сканирование​

Тумблер «Полное сканирование» в верхней части окна включает или отключает все типы сканирования и все движки одновременно. При снятии галочки с отдельного движка тумблер автоматически переключается в состояние частичного выбора.

Типы сканирования и доступные движки​

ТипДвижки
SASTSemgrep, PT AI, PMD, PHP Mess Detector, MobSF Scan, GoSec, CodeQL, Bearer, Bandit, Solar AppScreener, ABAP Code Scanner
SCATrivy, OWASP Dependency Check, CodeScoring
SecretTruffleHog
ConfigTrivy
LintersRuff, PMD, PHP Mess Detector, GolangCI Lint
DASTOWASP ZAP CLI

Каждый тип сканирования можно включить или отключить отдельным тумблером. Внутри каждого типа можно снять галочку с конкретного движка — кнопка «Очистить» снимает все галочки в блоке.

Настройка DAST​

При включении блока DAST становится обязательным поле «URL приложения»:

  • Введите адрес развёрнутого приложения (например, https://example.com).
  • Нажмите кнопку проверки доступности — платформа проверит, доступен ли URL.
  • Если URL недоступен, кнопка подсветится красным; при успехе — зелёным.
  • Без заполнения URL сканирование не запустится.

URL сохраняется в настройках приложения. Сохранить основной URL можно заранее через Настройки приложения → Основные.

Запуск​

Нажмите «Запустить» для начала сканирования или «Отмена» для выхода без запуска. Кнопка «Запустить» недоступна, если не выбран ни один движок ни в одном типе сканирования.

Настройки сканирования

Управление приложениями​

  • Копирование UUID: Откройте меню действий «⋮» и выберите «Скопировать UUID приложения».
  • Настройки: Выберите «Настроить приложение» для перехода к параметрам.
  • Удаление: Выберите «Удалить приложение» и подтвердите действие.

Управление приложением

Настройки приложения​

  1. Откройте приложение из списка.
  2. Перейдите в «Настроить приложение» через меню «⋮».
  3. В разделе настроек доступны пять вкладок:

Настройки приложения: основные

Вкладка «Основные»​

  • Общая информация

    • Название — редактирование названия приложения
    • Описание — многострочное поле для описания приложения
  • Объект сканирования — источники кода с индикаторами состояния:

    • GitLab / GitHub / Gitea / Bitbucket — выгрузка из репозитория (статус: Работает/Не работает)
    • Файл или ZIP-архив — загрузка архива (тумблер вкл/выкл)
  • Интеграция AI — выбор AI-интеграции, которая анализирует уязвимости этого приложения и формирует вердикт TP/FP. Доступны только активные интеграции, добавленные в разделе «Инструменты». Пустое значение отключает AI-анализ для приложения.

  • Токен — кнопка «Сгенерировать токен» выпускает API-токен приложения для CI/CD. Токен показывается один раз, скопируйте его сразу.

Настройки приложения: выбор AI-интеграции

Вкладка «Исключения»​

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

  • Настройки SAST

    • Минимальная критичность SAST — порог фильтрации SAST-уязвимостей. Уязвимости ниже выбранного уровня в результаты не попадут. Доступные значения: «Информация», «Низкая», «Средняя», «Высокая», «Критическая».
  • Общие исключения — список glob-паттернов путей, которые исключаются из всех типов сканирования (SAST, SCA, Secret, Config, Linters). Паттерны вводятся в текстовое поле через запятую.

    Поддерживается синтаксис glob:

    КонструкцияЗначениеПример
    *Любая последовательность символов внутри одного сегмента пути*.lock
    **Рекурсивный обход директорий**/vendor/**
    ?Один любой символfile?.txt
    [abc]Один символ из набора[Tt]est.py

    Типичные примеры:

    • исключить зависимости — **/vendor/**, **/node_modules/**;
    • исключить lock-файлы — **/*.lock, **/Pipfile.lock;
    • исключить тестовые фикстуры — **/testdata/**, tests/**/fixtures/**.

    Ограничения:

    • паттерн не может быть пустым;
    • запрещены абсолютные пути (паттерн не должен начинаться с /);
    • запрещён сегмент ..;
    • длина паттерна — не более 512 символов;
    • в списке не более 256 паттернов.

    Новое значение применяется при следующем запуске сканирования; уже идущие запуски не затрагиваются.

Настройки приложения: исключения

Вкладка «DAST»​

Позволяет задать URL целевого приложения для динамического анализа. Указанный здесь адрес будет автоматически подставляться при запуске DAST-сканирования.

  • URL приложения — адрес развёрнутого приложения (например, https://example.com)

Настройки приложения: DAST

Вкладка «Доступы»​

Управление составом участников приложения и их ролями. Подробнее — в разделе «Доступ к приложению».

Настройки приложения: доступы

Вкладка «Баг-трекинг»​

Вкладка управляет привязкой приложения к Jira-интеграции. После сохранения настроек тикеты в Jira создаются вручную — по одному из карточки уязвимости. Изменения полей уязвимостей и комментарии синхронизируются с трекером автоматически для уже связанных тикетов.

  • Трекер — выбор Jira-интеграции из числа подключённых в разделе «Инструменты». Если интеграций нет, отображается подсказка «Интеграций не найдено» и ссылка «в Инструменты».
  • Проект — выбор проекта Jira из выпадающего списка. Список проектов подгружается из Jira по выбранной интеграции.
  • Тип задачи — тип создаваемых тикетов (например, Bug); список типов загружается из выбранного проекта.
  • Тумблер «Вкл / Выкл» — включает или выключает синхронизацию. Включение возможно только после выбора интеграции и проекта.

Настройки приложения: баг-трекинг

Работа с аналитикой​

Просмотр общей аналитики по уязвимостям​

  1. Перейдите в раздел «Аналитика».
  2. Просмотрите метрики в карточках:
    • Приложения — количество приложений
    • SAST уязвимости — уязвимости, найденные статическим анализом
    • SCA уязвимости — уязвимости, найденные в зависимостях
    • Триаж уязвимостей — процент обработанных уязвимостей
  3. Изучите графики и полосы прогресса:
    • Триаж уязвимостей (%) — горизонтальная полоса: Новые, Подтверждено, В работе, Требуют подтверждения
    • Исправленные уязвимости (%) — горизонтальная полоса: Исправленные, Ложное срабатывание, Риск принят, Дубликаты
    • Критичность — диаграмма-паутина по уровням критичности
    • Уязвимости — список с процентами по уровням критичности

Общая аналитика

Просмотр аналитики конкретного приложения​

  1. Откройте нужное приложение из раздела «Приложения».
  2. Перейдите во вкладку «Аналитика».
  3. Вверху отображаются метаданные приложения:
    • Название, ID, автор
    • Бейджи с типами источников (Zip, GitLab)
    • Цветные метки уязвимостей по критичности
    • Язык, типы сканеров, время создания/сканирования, статус
  4. Далее аналогично общему дашборду: карточки метрик, полосы прогресса, диаграммы.

Аналитика приложения

Управление уязвимостями​

Просмотр уязвимостей​

  1. Перейдите в раздел «Рабочая зона» через главное меню или откройте конкретное приложение.
  2. В верхней части находится поле «Поиск по уязвимостям…».
  3. Под ним строка с чекбоксом: «Выбрано уязвимостей: 0 из X».
  4. Таблица показывает для каждой уязвимости:
    • название, ID, бейдж «Новое» (если ещё не просмотрена)
    • метаданные строки: тип сканирования, движок, дата, CWE, ФСТЭК, вердикт AI (TP/FP)
    • колонки Критичность и Статус

Список уязвимостей

Поиск уязвимостей​

  1. В поле «Поиск по уязвимостям…» введите ключевое слово (например, «Improper»).
  2. Список уязвимостей фильтруется по мере ввода.

Поиск уязвимостей

Настройка фильтра​

В списке уязвимостей доступна панель «Настройка фильтра»: фильтрация по типу сканирования (Все, SAST, SCA, DAST, Linters, Secret, Config), по критичности, дате обнаружения, вердикту AI (TP / FP) и статусу. После выбора критериев нажмите «Применить»; «Сбросить» очищает фильтры.

Настройка фильтра уязвимостей

Просмотр уязвимостей конкретного приложения​

  1. Откройте интересующее приложение.
  2. Перейдите во вкладку «Рабочая зона».
  3. Список покажет уязвимости, относящиеся только к этому приложению.

Уязвимости конкретного приложения

Добавление уязвимостей вне сканирования​

Платформа позволяет добавить уязвимости без запуска встроенных сканеров, например, по итогам пентеста, security review или из отчёта внешнего инструмента с экспортом в SARIF 2.1.0.

Добавленные вручную или импортированные находки попадают в ту же «Рабочую зону» и обрабатываются так же, как результаты штатных сканирований: статусы, комментарии, отчёты. Вердикт AI по ним не формируется — модели нужен фрагмент исходного кода, которого у такой находки нет.

Кто может добавлять​

Кнопка «+ Добавить уязвимость» доступна в «Рабочей зоне» конкретного приложения (откройте приложение → вкладка «Рабочая зона»). На общей вкладке «Уязвимости» без выбранного приложения кнопка недоступна.

Кнопку видят: Инженер ИБ, Гл. Инженер ИБ, Администратор и Суперадминистратор. Роли Разработчик и Аудитор кнопку не видят.

Добавление вручную​

  1. В «Рабочей зоне» приложения нажмите «+ Добавить уязвимость».
  2. На вкладке «Уязвимость» заполните поля:
    • Название* — краткое имя находки
    • Описание* — подробное описание
    • Критичность* — выберите из списка
    • CWE — необязательно, формат CWE-000
    • Расположение* — путь к файлу или иной локатор
  3. Нажмите «Сохранить».

Добавление уязвимости вручную

Импорт из SARIF-файла​

  1. В том же модальном окне перейдите на вкладку «из SARIF файла».
  2. Перетащите файл или нажмите «Нажмите, чтобы загрузить».
    • Формат: SARIF 2.1.0 (расширение .sarif или .json)
    • Максимальный размер: 50 МБ
  3. Нажмите «Импортировать».

Платформа обрабатывает все результаты в файле и пропускает подавленные и неактуальные находки (open, pass). Уровень критичности определяется по полю level в SARIF: error → Высокая, warning → Средняя, note → Низкая, none → Информация.

Повторный импорт того же файла не создаёт дубликаты: совпадение определяется по правилу, пути и строке в рамках приложения.

Импорт уязвимостей из SARIF

Информация об уязвимости​

  1. В списке уязвимостей нажмите на интересующую запись.
  2. Откроется карточка с вкладками «Описание», «Комментарии» и «Активность».
  3. На вкладке «Описание» доступны:
    • Критичность — уровень серьёзности (Информация, Низкая, Средняя, Высокая, Критическая)
    • Статус — единое поле жизненного цикла уязвимости (см. раздел «Жизненный цикл уязвимости» ниже)
    • CWE — идентификатор класса уязвимости (кликабельная ссылка)
    • Обнаружено — сканер, который нашёл уязвимость (например, bandit)
    • Время — дата и время обнаружения
    • Вердикт AI — заключение подключённой AI-интеграции: TP (True Positive — реальная уязвимость) или FP (False Positive — ложное срабатывание). Заключение можно развернуть, чтобы увидеть текстовый анализ и рекомендации от модели. Пока идёт анализ, отображается статус «анализ…»; если для приложения не выбрана активная AI-интеграция — «AI не подключён».
    • Имя правила — идентификатор правила сканера (с кнопкой копирования)
    • Номер тикета — отображается, если для приложения включён баг-трекинг (см. вкладку «Баг-трекинг» в настройках приложения). Если тикет уже создан, поле содержит ссылку на него в Jira; если нет — отображается «Тикет не создан» с кнопкой создания. Когда баг-трекинг не подключён, поле показывает соответствующую подсказку.
    • Описание — детальное объяснение уязвимости со ссылками на документацию
    • Расположение — путь к файлу и номер строки с фрагментом кода
    • При наличии в карточке также отображаются ФСТЭК (нормативная привязка) и Ссылки (References) на документацию (например, OWASP, Bearer).

Вердикт AI в карточке уязвимости

Если для приложения включён баг-трекинг, в карточке доступны действия с тикетом: «Создать тикет в Jira» (если тикет ещё не создан) и «Отвязать» — удаляет тикет в Jira; уязвимость на платформе остаётся. После создания поле «Номер тикета» становится ссылкой на тикет в Jira.

Номер тикета Jira в карточке уязвимости

  1. Вкладка «Комментарии» — свободное обсуждение уязвимости между участниками.

Комментарии к уязвимости

  1. Вкладка «Активность» — машинная лента событий: обнаружение уязвимости сканером, изменения статуса и критичности с указанием автора и времени. Для переходов, требующих обоснования, комментарий, введённый при смене статуса, отображается во всплывающей подсказке при наведении курсора на бейдж нового статуса. Если для приложения включён баг-трекинг, в ленту также попадают события Jira: создание тикета, ошибка работы с трекером (с указанием причины — сетевая, аутентификация, права, валидация, превышение лимита запросов), отвязка уязвимости от тикета, отвязка приложения от трекера, смена проекта или интеграции.

Карточка целиком: слева список уязвимостей приложения, справа открытая находка с вкладками, статусом и полями.

Карточка уязвимости

Лента на вкладке «Активность» показывает, кто и когда менял статус и критичность; событие обнаружения сканером всегда стоит в самом низу.

Вкладка «Активность» в карточке уязвимости


Жизненный цикл уязвимости​

Каждая уязвимость проходит жизненный цикл, отражённый единым полем «Статус». Сразу после обнаружения сканером уязвимость получает статус «На проверке» и далее меняется по правилам ниже.

СтатусЧто означает
На проверкеСтартовый статус. Сканер нашёл потенциальную уязвимость, специалист ИБ ещё не размечал результат.
ПодтвержденаИнженер ИБ или Гл. Инженер ИБ подтвердил находку как реальную. Уязвимость готова к передаче на исправление.
В работеУязвимость взята в исправление: разработчик начал устранение.
Требует проверкиРазработчик заявил об устранении и ждёт проверки со стороны ИБ.
Отклонили правкиИБ не принял исправление, уязвимость возвращается в работу.
ИсправленаУязвимость устранена в коде, проверка завершена (конечный статус).
Ложное срабатываниеСрабатывание сканера признано ложным (конечный статус).
Риск принятПринято решение не исправлять, риск осознан и формально принят (конечный статус).
ДубликатУязвимость уже отслеживается в другой записи (конечный статус).

Платформа ограничивает переходы между статусами: из текущего доступны только осмысленные следующие. Часть переходов требует обоснования — комментарий вводится в модальном окне и сохраняется во вкладке «Активность».

Основной путь работы с уязвимостью:

На схеме показаны основные пути. Из конечных статусов («Исправлена», «Ложное срабатывание», «Риск принят», «Дубликат») возможны корректирующие переходы при пересмотре решения.


Работа с конкретной уязвимостью​

Критичность меняется выпадающим списком в шапке вкладки «Описание»: Информация, Низкая, Средняя, Высокая, Критическая. Текущее значение отмечено галочкой.

Выпадающий список критичности

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

У новой находки доступны две кнопки. «Подтвердить» переводит её на следующий шаг вперёд, обоснование при этом не запрашивается. «Закрыть уязвимость» открывает окно выбора причины: «Исправлено», «Ложное срабатывание», «Риск принят», «Дубликат». Поле обоснования обязательно — без него кнопка закрытия остаётся неактивной. Подпись поля зависит от причины: для «Риск принят» это «Обоснование», для «Исправлено» — «Комментарий».

Окно закрытия уязвимости с выбором причины

Дальше по жизненному циклу вместо пары кнопок появляется «Принять решение». Меню перечисляет все переходы, разрешённые из текущего статуса: рабочие состояния сверху, конечные («Закрыта») — отдельной группой ниже.

Меню решений по уязвимости

Все изменения статуса и критичности фиксируются во вкладке «Активность» карточки с указанием автора и времени.

Вкладка «Комментарии» используется для свободного обсуждения, не связанного с переходами статуса.

Управление соответствием ГОСТ Р 56939-2024​

Модуль «Соответствие» позволяет отслеживать выполнение требований ГОСТ Р 56939-2024 «Защита информации. Разработка безопасного программного обеспечения». Реестр содержит 25 пронумерованных требований (5.1–5.25), охватывающих все этапы жизненного цикла безопасной разработки: от планирования и проектирования до вывода ПО из эксплуатации. Раздел доступен через пункт «Соответствие» в боковом меню.

Дашборд соответствия​

Главная страница модуля показывает текущий уровень соответствия организации требованиям стандарта.

Шапка со счётчиком: отображает процент выполнения как отношение Выполнено / применимые требования (требования со статусом «Неприменимо» исключаются из знаменателя).

Статусы требований:

СтатусОписание
ВыполненоТребование полностью выполнено и подтверждено свидетельствами
ЧастичноТребование выполнено не в полном объёме
Не выполненоТребование не выполнено (статус по умолчанию)
НеприменимоТребование не актуально для данной организации или продукта

Фильтр по статусу: чипы-кнопки «Все / Выполнено / Частично / Не выполнено / Неприменимо» фильтруют карточки требований на странице.

Группировка по этапам разработки: требования сгруппированы в 6 разделов с подсчётом выполнено / всего для каждой группы:

  • Планирование и управление (5.1–5.5)
  • Проектирование (5.6–5.7)
  • Разработка (5.8–5.14)
  • Анализ безопасности (5.15–5.17)
  • Тестирование (5.18–5.19)
  • Выпуск и эксплуатация (5.20–5.25)

Каждая карточка требования показывает код (например, 5.10), краткое название, текущий статус и количество прикреплённых свидетельств. Клик по карточке открывает детальную страницу требования.

Дашборд соответствия ГОСТ Р 56939-2024

Карточка требования​

Детальная страница требования содержит:

  • Код и название — код требования (например, 5.10) и его название
  • Описание — полный текст требования из стандарта
  • Текущий статус — цветной бейдж с актуальным значением
  • Кнопка «Изменить статус» — ручной override текущего статуса
  • Секция «Свидетельства» — список прикреплённых свидетельств с вкладками «Все / Документы / Ссылки / Комментарии»; кнопки добавления новых свидетельств
  • Журнал изменений статуса — хронологический список переходов «прежний статус → новый статус» с датой и причиной

Карточка требования ГОСТ Р 56939-2024

Изменение статуса требования​

Кнопка «Изменить статус» на карточке требования открывает модальное окно с двумя полями:

  • Новый статус — выпадающий список с четырьмя вариантами: «Выполнено», «Частично», «Не выполнено», «Неприменимо».
  • Причина изменения — обязательное текстовое поле (до 2000 символов). Пустое поле блокирует кнопку «Сохранить».

После сохранения запись появляется в журнале изменений внизу карточки в формате «прежний статус → новый статус», дата, причина.

Примеры формулировок для поля «Причина изменения»:

  • Переход Не выполнено → Частично: «Утверждён регламент процесса РБПО, назначен ответственный. Охвачены 3 из 5 продуктовых команд, внедрение продолжается.»
  • Переход Частично → Выполнено: «Завершено внедрение во всех командах. Регламент опубликован в Confluence, пересматривается раз в полгода.»
  • Переход → Неприменимо: «Продукт не имеет публичных API и не взаимодействует с внешними системами — DAST-тестирование не применимо.»

Свидетельства​

К каждому требованию можно прикрепить любое количество свидетельств трёх типов.

Документ — загрузка файла через drag&drop или выбор из проводника. Поддерживается один файл за раз; название совпадает с именем файла. После успешной загрузки свидетельство появляется в списке с кнопками «Скачать» и «Удалить». Файлы хранятся во внутреннем объектном хранилище.

Ссылка — форма с двумя полями:

  • «Название» (обязательно)
  • «URL» (обязательно; должен содержать протокол http:// или https://)

Комментарий — форма с двумя полями:

  • «Название» (обязательно, до 500 символов)
  • «Содержимое» (обязательно, до 10 000 символов)

Удаление любого свидетельства требует подтверждения в модальном окне.

Работа с отчётами​

Платформа позволяет формировать PDF-отчёты по уязвимостям выбранного приложения с настраиваемыми фильтрами.

Создание отчёта​

  1. Перейдите в раздел «Отчёты» через главное меню.
  2. Нажмите кнопку «Создать отчёт».
  3. В открывшемся модальном окне настройте параметры:
    • Выберите приложение — приложение, по уязвимостям которого формируется отчёт.
    • Фильтры уязвимостей — отметьте, какие уязвимости включать в отчёт:
      • Статус: На проверке, Подтверждена, В работе, Требует проверки, Отклонили правки, Исправлена, Ложное срабатывание, Риск принят, Дубликат.
      • Критичность: Критическая, Высокая, Средняя, Низкая, Информация.
    • Название отчёта* — обязательное поле (например, дата и краткое имя).
    • Выбор языка — язык отчёта (RU или EN).
  4. Нажмите «Создать отчёт» или «Отмена» для выхода без сохранения.

После создания задача попадает в обработку; готовый PDF появится в списке отчётов. Пока отчёт формируется, его статус отображается в таблице.

Форма создания отчёта

Список отчётов, поиск и фильтрация​

  1. В разделе «Отчёты» отображается таблица созданных отчётов.
  2. Колонки таблицы:
    • Название отчёта — имя файла и размер (например, в КБ или МБ).
    • Создан — дата и время создания.
    • Приложение — приложение, по которому сформирован отчёт.
    • Кем — автор отчёта (имя и email).
  3. Для поиска и фильтрации используйте:
    • поле «Поиск по отчётам»;
    • выпадающий список «Выберите приложение» для фильтра по приложению;
    • кнопку «Сбросить» для сброса фильтров.

Список отчётов

Скачивание и удаление отчёта​

  • Скачивание: нажмите иконку загрузки в строке нужного отчёта. Файл PDF сохранится на ваше устройство.
  • Удаление: нажмите иконку корзины в строке отчёта и подтвердите действие.

Данные, которые попадают в отчёт (сводка по SAST/SCA/Линтер, триаж, исправленные уязвимости, оценка по критичности), соответствуют аналитике, доступной в разделе «Аналитика» по приложению. Фильтры при создании отчёта задают, какие уязвимости включаются в PDF.

Аналитика отчёта

Управление пользователями​

Раздел доступен только пользователям с типом Администратор или Суперадминистратор.

Раздел «Пользователи» находится в главном меню. В нём вы просматриваете список пользователей платформы, создаёте новых, редактируете их данные, меняете тип (роль) и блокируете доступ.

Просмотр списка пользователей​

  1. Перейдите в раздел «Пользователи».
  2. Таблица отображает:
    • Имя и Email пользователя
    • Тип — тип учётной записи (Суперадминистратор, Администратор, Пользователь)
    • Статус — активен или заблокирован
    • Дата создания
    • Приложения — приложения, участником которых является пользователь
  3. Доступны поиск по имени/email и фильтрация по типу и статусу.

Список пользователей

Создание пользователя​

  1. Нажмите кнопку «Создать пользователя».
  2. Заполните форму:
    • Имя* и Фамилия* — обязательные поля
    • Email* — адрес электронной почты
    • Тип* — тип учётной записи (Пользователь, Администратор, Суперадминистратор)
    • Пароль* и Повторите* — минимум 4, максимум 40 символов
  3. Нажмите «Сохранить».

Форма создания пользователя

Редактирование и управление пользователями​

Для редактирования пользователя нажмите иконку карандаша в строке. В форме доступны поля: Имя, Фамилия, тип учётной записи и переключатель «Вкл/Выкл учётную запись» для блокировки без удаления.

Массовые операции (изменение типа, блокировка/разблокировка) доступны при выборе нескольких пользователей через чекбоксы.

Управление пользователем

Доступ к приложению​

Вкладка «Доступы» в настройках приложения управляет тем, кто и с какими правами работает с конкретным приложением.

Матрица прав доступа​

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

Доступ по типу учётной записи​
ВозможностьСуперадминистраторАдминистраторПользователь
Видимость приложенийвсетолько своитолько те, где выдана роль
Создание приложений✓✓—
Управление участниками приложения✓✓—
Раздел «Инструменты»: просмотр подключений✓✓—
Раздел «Инструменты»: настройка VCS, Jira и AI✓✓—
Выбор источника кода для сканирования✓✓—
Создание API-токенов✓✓—
Раздел «Пользователи»✓——
Загрузка лицензии✓——

Роль в приложении на доступ к разделу «Инструменты» не влияет: он открывается по типу учётной записи. Администратор внутри своих приложений обладает всеми правами независимо от того, какая роль ему в них назначена.

Доступ по роли в приложении​

Роли назначаются на вкладке «Доступы» и действуют в пределах одного приложения.

ДействиеИнженер ИБГл. инженер ИБРазработчикАудитор
Просмотр приложения✓✓✓✓
Просмотр уязвимостей✓✓✓✓
Комментарии к уязвимостям✓✓✓✓
Запуск сканирования✓✓——
Изменение уязвимостей✓✓——
Просмотр и выгрузка отчётов✓✓—✓
Создание отчёта✓✓—✓
Удаление отчёта✓✓—✓
Изменение настроек приложения————
Удаление приложения————

Настройки и удаление приложения ролью не выдаются никому: эти действия доступны владельцу приложения и суперадминистратору.

Переходы статусов уязвимости​
РольДоступные переходы
Инженер ИБВсе переходы, кроме «Подтверждена → В работе»
Гл. инженер ИБВсе переходы инженера ИБ и, дополнительно, любой переход в обход матрицы
Разработчик«Подтверждена → В работе», «В работе → Требует проверки», «Отклонили правки → Требует проверки»
АудиторНе может менять статусы

Добавление пользователя в приложение​

  1. Откройте настройки приложения → вкладку «Доступы».
  2. Нажмите «+ Добавить пользователей» (или аналогичную кнопку).
  3. В форме введите имя или email пользователя — он должен уже быть зарегистрирован в системе.
  4. Выберите роль: Инженер ИБ, Гл. инженер ИБ, Разработчик или Аудитор.
  5. Нажмите «Сохранить».

Добавление пользователя в приложение

Изменение роли и удаление​

Изменить роль: нажмите на название текущей роли в строке пользователя — откроется выпадающий список с доступными ролями. Массовое изменение роли доступно через чекбоксы и кнопку «Изменить роль» над таблицей.

Изменение роли участника

Удалить из приложения: нажмите иконку корзины в строке и подтвердите действие. Пользователь потеряет доступ к приложению, его учётная запись в системе не затрагивается.

Удаление участника из приложения

Работа с инструментами интеграций​

Раздел «Инструменты» предназначен для управления подключениями к системам контроля версий (VCS), внешним сканерам и AI-интеграциям. Раздел доступен пользователям с правами на настройку интеграций (Администратор, Суперадминистратор).

Подключение VCS-хостинга​

Платформа поддерживает подключение следующих VCS-провайдеров: GitLab, GitHub, Gitea, Bitbucket (Data Center / Server).

  1. Перейдите в раздел «Инструменты».
  2. Выберите вкладку нужного провайдера (GitLab, GitHub, Gitea или Bitbucket).
  3. Нажмите «+ Добавить подключение».
  4. Заполните форму:
    • Название* — произвольное имя подключения
    • URL* — адрес хостинга (например, https://gitlab.example.com)
    • Токен* — Personal Access Token с правами api и read_api
  5. Нажмите «Проверить подключение» — платформа проверит доступность хостинга по указанным данным.
  6. Нажмите «Сохранить».

После сохранения подключение отобразится в списке и станет доступным для выбора при создании или настройке приложения (вкладка «Объект сканирования»).

Добавление VCS-подключения

Для Gitea используется тот же API-формат, что и для GitLab — Personal Access Token с правами на чтение репозиториев. Для Bitbucket Data Center / Server используется HTTP access token, выпущенный в настройках пользователя.

Подключение AI-интеграции​

AI-интеграция — это внешний или собственный сервис, который анализирует найденные уязвимости и формирует вердикт TP/FP вместе с текстовым анализом и рекомендациями. Одну интеграцию можно привязать сразу к нескольким приложениям; у каждого приложения может быть одна активная интеграция.

  1. Перейдите в раздел «Инструменты» и откройте вкладку «Интеграция AI».
  2. Нажмите «Подключить AI».
  3. Заполните форму:
    • Название — произвольное имя подключения;
    • AI URL — адрес сервиса (например, https://ml.example.com); либо укажите IP и Порт по отдельности;
    • Приложения — список приложений, к которым сразу будет привязана интеграция (можно оставить пустым и привязать позже в настройках приложения).
  4. Нажмите кнопку проверки доступности — платформа обратится к сервису и покажет «Соединение установлено» или «Соединение не установлено».
  5. Нажмите «Сохранить».

Форма подключения AI-интеграции

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

Список AI-интеграций

Если AI-сервис недоступен в момент анализа, платформа продолжает работу: вердикт не формируется, остальные результаты сканирования сохраняются как обычно.

Подключение Jira-интеграции​

Интеграция с Jira позволяет переносить уязвимости приложения в трекер задач: тикеты создаются вручную из карточки уязвимости, изменения полей и комментарии синхронизируются с трекером автоматически, а в карточке уязвимости появляется ссылка на тикет. Одну интеграцию можно привязать к нескольким приложениям; настройка привязки выполняется в настройках приложения (вкладка «Баг-трекинг»).

  1. Перейдите в раздел «Инструменты» и откройте вкладку «Jira».
  2. Нажмите «Подключить Jira».
  3. Заполните форму:
    • Название* — произвольное имя интеграции (например, Monolit-Jira);
    • Приватный токен* — Personal Access Token (PAT) пользователя Jira. Токену должны быть предоставлены области действия api и read_api, а у учётной записи — права просматривать проект, создавать и редактировать тикеты, добавлять комментарии и выполнять переходы по статусам;
    • Jira URL* — адрес сервера Jira (например, https://jira.yourcompany.ru).
  4. Нажмите кнопку проверки подключения. Платформа проверит сетевую доступность Jira и корректность токена и покажет результат: «Соединение установлено», «Jira недоступна по указанному адресу» или «Токен недействителен или истёк».
  5. Нажмите «Сохранить». Интеграция сохраняется только при успешной проверке подключения.

Форма подключения Jira-интеграции

После сохранения интеграция появится в таблице раздела с колонками Название интеграции, Статус, Приложения (количество привязанных приложений) и Последняя проверка. Статус подключения отображается бейджем:

  • Доступно — подключение и права в порядке;
  • Недоступно — Jira не отвечает по указанному адресу;
  • Нет прав — подключение выполнено, но у токена недостаточно прав для работы с Jira.

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

Список Jira-интеграций

Аварийные ситуации​

  1. Проблемы с доступом к системе: проверьте логин и пароль и сетевой доступ к серверу платформы. Если войти не удаётся, обратитесь к администратору системы: учётная запись может быть заблокирована.
  2. Сбои в работе приложения: обновите страницу. Если данные по-прежнему отображаются неверно, обратитесь к администратору системы.
  3. Ошибка сканирования: откройте журнал ошибок сканирования и проверьте настройки приложения и доступ к репозиторию — чаще всего истёк токен доступа к VCS.

Пока продукт не набрал зрелости по безопасности, не блокируйте конвейер по результатам автоматического анализа, в том числе по результатам Monolit: доля ложных срабатываний на первых сканированиях высока, и сборки будут падать на шуме.

Часто задаваемые вопросы (FAQ)

Техническая поддержка

Если у вас возникли вопросы или проблемы при работе с Monolit, обратитесь к администратору системы или свяжитесь с нашей службой поддержки по адресу support@cybear.ru.

Поддержка Cybear

Не нашли ответ в документе?

Техподдержка: support@cybear.ru · +7 (495) 790-66-88, добавочный 3.

Написать в поддержку