Перейти к основному содержимому
Версия: 1.7

Что нового

Версия продукта​

1.7

Дата выпуска​

31.08.2026

Краткое описание​

Релиз TRON.ASOC 1.7 расширяет возможности интеграции платформы с CI/CD и внешними процессами: добавлено человекочитаемое API для управления иерархией Проект → Слой → Проверка, а также конструктор пользовательских парсеров для подключения инструментов сканирования, не поддерживаемых системой. Кроме того, в релиз вошли управление жизненным циклом файлов в объектном хранилище (S3) и расширение API для политик, вебхуков, дашбордов и административных настроек.

Сводка​

  • Управление хранением файлов в S3.
  • Конструктор парсеров отчетов.
  • Запуск сканирования по вебхукам из систем контроля версий (VCS).
  • Человекочитаемое API.
  • Метрики CVSS и Exploitability в контролях качества.
  • JSON-парсер для Aqua.
  • Расширенный маппинг полей Jira.

Что нового​

Управление хранением файлов в S3​

Добавлены автоматическое удаление файлов по истечении срока хранения (TTL) и удаление вручную.

Что изменилось для пользователя: срок хранения (TTL) сгенерированных отчетов и результатов сканирования в объектном хранилище задается переменной в файле docker-compose.yml. По истечении срока файлы удаляются автоматически. Файлы по-прежнему удаляются и вручную — при удалении связанной проверки, слоя или проекта.

Конструктор парсеров отчетов​

Для отчетов инструментов безопасности, поддерживаемых TRON.ASOC, можно использовать системные парсеры, а для остальных — создавать пользовательские парсеры на языке запросов и трансформации данных JSONata.

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

Запуск сканирования по вебхукам из систем контроля версий (VCS)​

Проверки безопасности можно автоматически запускать по событиям push и merge/pull request из GitLab, GitHub, Bitbucket и Gitea.

Что изменилось для пользователя: автоматический запуск проверок по событиям push и merge/pull request настраивается без ручного запуска сканирования или запуска по расписанию.

Человекочитаемое API​

В API добавлены человекочитаемые URL, позволяющие адресовать слои и проверки по именам проекта и слоя (например, /project/{project}/layers/{layer_name}/checks/{check_name}).

Что изменилось для пользователя: слои и проверки безопасности можно адресовать в API по именам, а не только по числовым ID. Это упрощает интеграцию с CI/CD и написание скриптов автоматизации.

Метрики CVSS и Exploitability в контролях качества​

Добавлены метрики CVSS (диапазон) и Exploitability (равно/не равно) для точной настройки контролей качества.

Что изменилось для пользователя: при настройке контроля качества можно задавать условия его прохождения по оценке CVSS (диапазон значений) и признаку Exploitability (наличие или отсутствие эксплуатируемости).

JSON-парсер для Aqua​

Добавлена поддержка формата JSON для отчетов Aqua.

Что изменилось для пользователя: отчеты Aqua загружаются в формате JSON, поддержка HTML-формата прекращена.

Расширенный маппинг полей Jira​

В интеграцию с Jira добавлены поля Тип слоя, Слой, Ответственный и Дата последнего обнаружения.

Что изменилось для пользователя: при создании задач в Jira дополнительно передаются тип слоя, слой, ответственный и дата последнего обнаружения проблемы безопасности. Это дает больше контекста прямо в задаче, без перехода в TRON.ASOC.

Улучшения​

  • Реализована возможность выбора внутренней архитектуры хранения файлов: MinIO или S3-совместимое хранилище SeaweedFS.
  • Переработан интерфейс управления источниками сканирования: улучшены таблица, фильтры, форма создания интеграции и отображение источников.
  • Упрощено создание пользовательских источников сканирования: удален тип источника CLI tool custom source. Свой источник сканирования можно создать прямо при создании проверки безопасности или оставить источник пустым.
  • Теги проектов и групп задаются непосредственно при создании и редактировании проектов и групп. Опция Управление тегами больше не отображается в настройках ролей.

Изменения в REST API​

Новые эндпоинты​

  • GET /admin-settings — получение административных настроек платформы
  • PUT /admin-settings — частичное обновление административных настроек платформы
  • GET /assistant/runtime — получение текущего состояния ассистента
  • GET /assistant/session-token — получение токена сессии текущего пользователя для работы с ассистентом
  • GET /assistant/whoami — получение текущего пользователя по идентификатору сессии TRON.ASOC (заголовок X-ASOC-Session)
  • DELETE /custom-policy — массовое удаление пользовательских политик
  • GET /custom-policy/events — получение списка доступных кодов событий для пользовательских политик
  • GET /custom-policy/filters — получение агрегированных значений для фильтров в списке пользовательских политик
  • PUT /custom-policy/orders — изменение порядка нескольких пользовательских политик за один запрос
  • POST /custom-policy/validate — валидация синтаксиса пользовательской политики и используемых кодов событий
  • PUT /custom-policy/{id} — обновление существующей пользовательской политики
  • PATCH /custom-policy/{id}/enabled — включение и отключение пользовательской политики
  • GET /dashboard-settings — получение списка настроек дашборда (с пагинацией и фильтром по коду проекта)
  • GET /dashboard-settings/{project_code} — получение настроек дашборда по коду проекта
  • PUT /dashboard-settings/{project_code} — сохранение настроек дашборда для проекта
  • DELETE /dashboard-settings/{project_code} — удаление настроек дашборда
  • POST /parser — создание парсера
  • GET /parser/{id} — получение парсера по ID
  • PUT /parser/{id} — обновление парсера
  • POST /parser/{id}/test — тестовый парсинг отчета без сохранения результата
  • GET /parsers — получение списка парсеров (с пагинацией, поиском по имени и фильтром «системный/пользовательский»)
  • DELETE /parsers — удаление парсеров
  • GET /project/{project_code}/layers/{layer_name} — получение слоя по коду проекта и имени слоя
  • POST /project/{project_code}/layers/{layer_name} — создание слоя (или получение, если он уже существует) по коду проекта и имени слоя
  • PUT /project/{project_code}/layers/{layer_name} — обновление слоя по коду проекта и имени слоя
  • GET /project/{project_code}/layers/{layer_name}/gates — получение контролей качества слоя по коду проекта и имени слоя
  • POST /project/{project_code}/layers/{layer_name}/run — запуск слоя по коду проекта и имени слоя
  • GET /project/{project_code}/layers/{layer_name}/checks/{check_name} — получение проверки безопасности по коду проекта, имени слоя и имени проверки
  • POST /project/{project_code}/layers/{layer_name}/checks/{check_name} — создание проверки безопасности (или получение, если она уже существует) по имени проверки
  • PUT /project/{project_code}/layers/{layer_name}/checks/{check_name} — обновление проверки безопасности по имени проверки
  • GET /project/{project_code}/layers/{layer_name}/checks/{check_name}/gates — получение контролей качества проверки безопасности по имени проверки
  • POST /project/{project_code}/layers/{layer_name}/checks/{check_name}/run — запуск проверки безопасности по имени проверки
  • POST /project/{project_code}/layers/{layer_name}/checks/{check_name}/external — импорт результатов сканирования (JSON) в проверку безопасности по имени проверки
  • POST /project/{project_code}/layers/{layer_name}/checks/{check_name}/upload-result — загрузка результата файлом (multipart) в проверку безопасности по имени проверки
  • POST /project/{project_code}/layers/{layer_name}/check-groups/{group_name}/run — запуск группы проверок безопасности по коду проекта, имени слоя и имени группы
  • GET /project/{project_code}/webhook-triggers — получение списка вебхук-триггеров проекта (с пагинацией)
  • POST /project/{project_code}/webhook-triggers — создание вебхук-триггера для проекта
  • GET /webhook-triggers/{id} — получение вебхук-триггера по ID
  • PUT /webhook-triggers/{id} — обновление вебхук-триггера
  • DELETE /webhook-triggers/{id} — удаление вебхук-триггера
  • POST /webhooks/vcs/{webhook_id} — прием входящего вебхука от системы контроля версий (VCS) и запуск связанных с триггером проверок безопасности
  • GET /events-list — получение каталога всех событий системы
  • GET /issues/trackers — получение уникального списка трекеров задач, в которых по указанным уязвимостям созданы задачи
  • POST /master-source/{id}/test — проверка аутентификации мастер-источника
  • DELETE /sources-list-with-masters — удаление источников и мастер-источников из объединенного списка (с возможностью удалить дочерние источники)
  • PUT /tracker/{id}/task/{task_key} — принудительное обновление задачи в трекере задач по ее ключу
  • GET /trackers/labels — получение списка меток трекера задач (с поиском, пагинацией и сортировкой)
  • POST /user/{id}/permissions/projects — получение прав пользователя по доступным ему проектам; заменяет одноименный GET-эндпоинт (подробнее см. раздел Удаленные эндпоинты)

Измененные эндпоинты​

Измененный эндпоинтСуть изменений
POST /checkИзменена схема результата в ответе 200: вместо параметра SecurityCheck возвращается параметр SecurityCheckWithResult, содержащий результат проверки
GET /custom-policy- Добавлен параметр filter[event_code] (фильтр по коду события или служебному значению trigger type: cron, scheduled_once)
- Уточнены описания filter[project_code] (поддерживает несколько кодов через запятую) и sort (добавлены новые поля сортировки)
POST /custom-policyЭндпоинт только создает новую пользовательскую политику; обновление существующей политики вынесено в эндпоинт PUT /custom-policy/{id}
GET /custom-policy/presets/actionsСхема результата в ответе 200 изменена с array<CustomPolicyPreset> на array<CustomPolicyPresetGroup>, возвращающую сгруппированные пресеты
GET /issues, GET /issues/countДобавлен параметр filter[layer_type_id] для фильтрации по идентификаторам типов слоев (через запятую)
GET /issues/filterДобавлены параметры filter[layer_id] (фильтр по идентификаторам слоев с автоматическим раскрытием до вложенных слоев) и filter[layer_type_id]
GET /security-rules, GET /security-rules/filterДобавлены параметры filter[layer_id] и filter[layer_type_id]
GET /sources, GET /sources-list-with-masters, GET /sources/filterДобавлен параметр filter[include_auto_created] для включения в результаты служебных источников, созданных автоматически
GET /stats/tool-name-deprecatedСхема результата в ответе 200 изменена с ToolVulnerabilityStatResponse на ToolVulnerabilityDetailResponse, возвращающую более детализированную статистику
GET /stats/tool-name-list-deprecatedФормат ошибок в ответах 400/401/403/500 унифицирован: используется общая схема HTTPError вместо Error
GET /trackers- Добавлена пагинация: параметры limit (по умолчанию 50) и page (по умолчанию 1)
- Ответ 200 возвращает обертку TrackerListResponse вместо массива array<Tracker>
- Уточнены описания параметров order, search, sort

Удаленные эндпоинты​

  • POST /check-group
  • GET /check-group/{group_id}
  • PUT /checks-group/{group_id}
  • GET /user/{id}/permissions/projects (заменен на POST /user/{id}/permissions/projects)

Инструкции по обновлению​

Обратная связь и поддержка​

По всем вопросам обращайтесь в службу поддержки: support@tronasoc.ru.

Также ознакомьтесь с Политикой партнерской технической поддержки для пользователей ПО «TRON.ASOC».

Заключение​

Релиз TRON.ASOC 1.7 развивает систему по нескольким направлениям: человекочитаемое API для управления проверками из внешних систем, подключение неподдерживаемых инструментов сканирования через конструктор парсеров, а также надежное и предсказуемое хранение данных. Это обновление закладывает основу для дальнейшего расширения интеграционных сценариев платформы.