Release notes 12-0-0: Difference between revisions

From Svacer Wiki
Line 153: Line 153:
В поле min_length - минимальная длина пароля. В поле complexity список регулярных выражений, задающих группу требуемых символов. В примере требуется наличие строчных, заглавных букв, цифр и спец символов - !#.
В поле min_length - минимальная длина пароля. В поле complexity список регулярных выражений, задающих группу требуемых символов. В примере требуется наличие строчных, заглавных букв, цифр и спец символов - !#.


2. Защита от множества попыток ввода пароля.
2. Механизм блокировки учетной записи пользователя при нескольких неудачных попытках авторизации.


Пример задания конфигурационных настроек:
<code>security:
  login:
    max_attempts: 5
    lock_time: 2m</code>
Т.е. учетная запись будет блокироваться на 2 минуты при 5 неудачных попытках авторизации.
Также реализована команда CLI для разблокировки учетной записи пользователя:
<code>svacer user-proiver unlock -login chernykov_sv</code>


== Открытие вкладки LDAP по умолчанию ==
= Открытие вкладки LDAP по умолчанию =
Добавлен параметр конфигурации default. Если он true, то на странице авторизации в пользовательском интерфейсе по умолчанию будет отрываться вкладка Svacer, если false - то при наличии сконфигурированного LDAP по умолчанию будет открываться вкладка LDAP, иначе флаг default игнорируется
Добавлен параметр конфигурации default. Если он true, то на странице авторизации в пользовательском интерфейсе по умолчанию будет отрываться вкладка Svacer, если false - то при наличии сконфигурированного LDAP по умолчанию будет открываться вкладка LDAP, иначе флаг default игнорируется


Line 164: Line 173:
     enabled: true
     enabled: true
     default: false</code>
     default: false</code>
= Автоочистка снимков/веток/проектов =
Расширены опции команды cleanup, вызываемой в CLI:
* ??? - удалять пустые ветки;
* ??? - удалять пустые проекты;
* max-snapshots - верхняя граница по количеству снимков в ветке;
* min-snapshots - нижняя граница по количеству снимков в ветке.
= Веб-хуки для нотификаций =
Реализован механизм веб-хуков для отправки нотификаций по API во внешние системы. Механизм настраивается в конфигурационном файле в секции webhook.
Пример задания конфигурационных настроек:
<code>webhook:
  enabled: true
  journalLength: 86400
  targets:
    - url: "<nowiki>https://swarm-mgr.home:8080/webhook</nowiki>"
      workersCount: 1
      enabled: true   
      filter: "Type == 1 and Payload.Status != 'Undecided'"
      caCerts: ""
      retryCount: 1
      timeout: 500</code>
Управление механизмом осуществляется в CLI с помощью команд:
<code>svacer server webhook journal
svacer server webhook stat</code>

Revision as of 10:36, 14 October 2025

Разметка маркеров с помощью AI

Добавлена возможность разметки маркеров с помощью ассистента AI, который на основании модели, обученной на множестве размеченных данных, предсказывает статус разметки маркера False Positive или Confirmed.

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

Примечание: прогнозируемый ассистентом AI статус разметки маркера носит рекомендательный характер. Окончательное решение о применении предсказанного моделью статуса остается за пользователем.

Форма разметки с помощью AI открывается путем активации параметра Режим разметки с помощью AI на стандартных формах разметки маркера или групповой разметки маркера.

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

Форма разметки одного маркера
Форма групповой разметки маркеров

Изменения в пользовательских фильтрах

В пользовательских фильтрах реализованы дополнительные возможности фильтрации маркеров:

1.       Атрибут «Период последнего изменения» для фильтрации маркеров по дате (периоду) актуальной разметки.

2.       Поле ввода шаблона расширенного фильтра для фильтрации маркеров по сложным предикатам таким как:

·        поля маркера, его трассы, разметки и комментариев;

·        информацию из контекста (имя проекта, ветки, снимка и т.п.);

·        атрибуты снимка (включая пользовательские атрибуты, заданные при импорте);

·        статусы разметки;

·        текст и атрибуты комментариев.

Описание, как составить выражение для расширенного фильтра, можно получить кликнув на .

Изменения в разделе Поиск

В разделе Поиск выполнены следующие доработки:

1.      Реализована возможность просмотра информации о маркере непосредственно в разделе Поиск.


2.      Поиск маркеров по полям расширен дополнительными атрибутами:

·        Инвариант маркера;

·        ID маркера.

Изменения на вкладке с исходным кодом файла

1.      Панель функций перенесена на верх вкладки с файлом исходного кода.

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

Сравнение маркеров при их сопоставлении

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


Форма сравнения маркеров открывается в отдельном диалоговом окне.

Просмотр JSON маркера

В дополнении к команде копирования JSON маркера добавлена команда просмотра JSON маркера в таблице маркеров и правой панели.

Просмотр JSON осуществляется в отдельном диалоговом окне.

Изменения в разделе Проекты

1.   Фокусировка на ветке master при создании нового проекта.

2.   В действия над снимком в списке снимков добавлена команда экспорта кода с разметкой. Все команды экспорта снимка вынесены в отдельное меню.

Редактирование маркеров при импорте

При импорте .svace-dir, SARIF или snap-файла добавлена возможность (опция) задать правила трансформации, пропуска и дедупликации маркеров. Правила задаются в JSON-формате.

При импорте в CLI данная опция называется edit-markers и позволяет указать путь к JSON-файлу с правилами.

В пользовательском интерфейсе при импорте .svace-dir или SARIF возможно задать данную опцию и в ней указать путь к JSON-файлу в архиве .svace-dir или SARIF. А при импорте snap-файла возможно как подгрузить JSON-файл так и ввести выражение в формате JSON в поле ввода.

Форма импорта .svace-dir
Форма импорта SARIF
Форма импорта snap-файла

Добавлена форма управления асинхронными задачами

В разделе Настройки -> Асинхронные задачи, где доступен просмотр и управление (отмена и откат) следующими асинхронными операциями:

·        Экспорт snap-файлов;

·        Экспорт SARIF;

·        Копирование снимков.

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

Форма Асинхронные задачи

Примечание: в следующем релизе планируем интегрировать в данный раздел оставшиеся асинхронные операции, которые запускаются пользователями, а именно:

·        Импорт snapshot;

·        Импорт svace-dir;

·        Импорт SARIF;

·        Копирование проекта;

·        Копирование ветки.

Изменения в разделе Информация о сервере

В разделе Настройки -> Информация о сервере, который доступен пользователям с серверным доступом Администрирование сервера, представление информации разделено на три вкладки:

·        Параметры

·        Системный лог

·        Системный журнал

Т.к. системный лог может иметь большой размер, то вывод информации на форме ограничен последними 1Мб (значение регулируется переменной окружения SVACER_TAIL_LOG_SIZE). Скачивание лога позволяет выгрузить файл полностью.

Информация о сервере - вкладка Параметры
Информация о сервере - вкладка Системный лог
Информация о сервере - вкладка Системный журнал

Лицензирование Svacer

Реализован механизм лицензирования. Просмотр и применение лицензии доступно в CLI, а также в UI, где добавлен раздел Лицензия. Просмотр лицензии доступен всем пользователям, а активация лицензии доступна пользователям с серверным доступом «Администрирование сервера».

Примечание: функциональность добавлена для возможности будущего развития продукта. В дистрибутив Svacer v.12 лицензия встроена и не вносит никаких ограничений. Срок действия встроенной лицензии до 31.12.2027.

Парольная политика

Реализована возможность в конфигурационном файле задать парольную политику:

  1. Механизм установки минимальной сложности паролей.

Пример задания конфигурационных настроек:

auth:
  svacer:
    password:
       min_length: 10
       complexity:
        - "[a-z]"
        - "[A-Z]"
        - "[0-9]"
        - "[!#]"

В поле min_length - минимальная длина пароля. В поле complexity список регулярных выражений, задающих группу требуемых символов. В примере требуется наличие строчных, заглавных букв, цифр и спец символов - !#.

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

Пример задания конфигурационных настроек:

security:
  login:
    max_attempts: 5
    lock_time: 2m

Т.е. учетная запись будет блокироваться на 2 минуты при 5 неудачных попытках авторизации.

Также реализована команда CLI для разблокировки учетной записи пользователя:

svacer user-proiver unlock -login chernykov_sv

Открытие вкладки LDAP по умолчанию

Добавлен параметр конфигурации default. Если он true, то на странице авторизации в пользовательском интерфейсе по умолчанию будет отрываться вкладка Svacer, если false - то при наличии сконфигурированного LDAP по умолчанию будет открываться вкладка LDAP, иначе флаг default игнорируется

Пример задания конфигурационных настроек:

auth:
  svacer:
    enabled: true
    default: false

Автоочистка снимков/веток/проектов

Расширены опции команды cleanup, вызываемой в CLI:

  • ??? - удалять пустые ветки;
  • ??? - удалять пустые проекты;
  • max-snapshots - верхняя граница по количеству снимков в ветке;
  • min-snapshots - нижняя граница по количеству снимков в ветке.

Веб-хуки для нотификаций

Реализован механизм веб-хуков для отправки нотификаций по API во внешние системы. Механизм настраивается в конфигурационном файле в секции webhook.

Пример задания конфигурационных настроек:

webhook:
 enabled: true
 journalLength: 86400
 targets:
   - url: "https://swarm-mgr.home:8080/webhook"
     workersCount: 1
     enabled: true     
     filter: "Type == 1 and Payload.Status != 'Undecided'"
     caCerts: ""
     retryCount: 1
     timeout: 500

Управление механизмом осуществляется в CLI с помощью команд:

svacer server webhook journal
svacer server webhook stat