Что нового
Версия продукта
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}— получение парсера по IDPUT /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}— получение вебхук-триггера по IDPUT /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-groupGET /check-group/{group_id}PUT /checks-group/{group_id}GET /user/{id}/permissions/projects(заменен наPOST /user/{id}/permissions/projects)
Инструкции по обновлению
- Обновление до версии 1.7
- Онлайн-документация
- Установка с помощью Docker Compose
- Установка с помощью Helm Chart
Обратная связь и поддержка
По всем вопросам обращайтесь в службу поддержки: support@tronasoc.ru.
Также ознакомьтесь с Политикой партнерской технической поддержки для пользователей ПО «TRON.ASOC».
Заключение
Релиз TRON.ASOC 1.7 развивает систему по нескольким направлениям: человекочитаемое API для управления проверками из внешних систем, подключение неподдерживаемых инструментов сканирования через конструктор парсеров, а также надежное и предсказуемое хранение данных. Это обновление закладывает основу для дальнейшего расширения интеграционных сценариев платформы.