Релизы

v4.1

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

Версия 4.0 научила ScanSuite хорошо находить. Этот релиз учит его тому, что идёт дальше: доказать, что исправление действительно внесено, не дать одной уязвимости расползтись на несколько записей между повторными сканированиями и репозиториями и передавать статусы между ScanSuite и ServiceNow, не открывая к нему соединения.

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

Повторные сканирования и проверка исправлений

ВозможностьОписание
Verify FixesРежим сканирования, выраженный в уязвимостях, а не в файлах. Выберите уязвимости, которые считаете исправленными; ScanSuite сопоставит их с файлами, просканирует только эти файлы и повторно оценит ровно то, что вы выбрали, — уязвимость, находящаяся в одном файле с выбранной, не затрагивается никогда.
Агент проверки исправленийЧитает текущий исходный код по уязвимости, которую сканирование охватило, но не сообщило о ней, и возвращает один из пяти вердиктов. Закрывают что-либо только fixed и file_removed, а вердикт fixed отклоняется без доказательств вида «файл:строка» или при низкой уверенности.
СверкаКаждое повторное сканирование распределяет уязвимости репозитория на подтверждённые, охваченные-но-не-сообщённые, удерживаемые решением аналитика и находящиеся вне охвата, и приводит их количества в журнале сканирования.
Охват сканированияРезультаты анализа по каждому файлу фиксируются, и сканирование делает выводы только о файлах, которые действительно проанализировало. Пропущенный или сбойный файл охватом не считается.
Автоматическое возвращение в работу при регрессеУстранённая уязвимость, которую снова обнаруживает последующее сканирование, открывается заново сама, а её устаревшие доказательства закрытия очищаются.
Решения аналитика защищеныСтатусы Risk Accepted и False Positive сканирование не может изменить ни в одну сторону.

Закрытие отключено, пока вы его не включите, в Settings → Resolve findings verified as fixed. При выключенной настройке весь конвейер всё равно выполняется и пишет в журнал — можно посмотреть вердикты, которые выдаёт ваша кодовая база, прежде чем позволять им менять хоть одну задачу.

См. Повторные сканирования и проверка исправлений.

ServiceNow — через файлы

Прямая интеграция с ServiceNow и её настройки удалены. Вместо них уязвимости уходят выгрузкой ServiceNow XLSX, а назначенные в ServiceNow статусы возвращаются файлом. Учётные данные не хранятся, порты не открываются, и ничто не покидает периметр, пока этого не сделает человек.

ИзменениеОписание
Меню выгрузкиОтдельные кнопки выгрузки на странице Vulnerabilities объединены в одно меню: XLSX, JSON и ServiceNow XLSX.
Устойчивые идентификаторы отслеживанияКаждая уязвимость несёт идентификатор, переживающий повторные сканирования и релизы: таблица, журнал сканирования, JSON-отчёт и консоль называют одну и ту же уязвимость одной и той же строкой.
Расхождение статусовТам, где вернувшиеся из ServiceNow статусы расходятся с тем, что считает ScanSuite, ScanSuite показывает расхождение и ничего не перезаписывает сам.

Идентичность уязвимости

Теперь она ограничена не только продуктом, но и репозиторием. Раньше два репозитория в одном продукте с совпадающим путём к файлу — каким-нибудь index.js или settings.py — могли слиться в одну запись: просканированный вторым затирал первый.

Кроме того, идентичность больше не сравнивает уязвимый параметр и процитированный код. Модели формулируют их по-разному в каждом запуске, из-за чего появлялись дублирующие записи об одном дефекте. Две записи считаются одной и той же уязвимостью, когда совпадают нормализованный класс и файл исходного кода в пределах одного продукта и одного репозитория.

Существующие уязвимости были перепривязаны к новым ключам на месте. Идентификаторы отслеживания, уже отправленные в систему учёта задач, не изменились — ничего из выгруженного до этого релиза заново выгружать не нужно.

Более быстрые сканирования

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

Более понятный вывод

ИзменениеОписание
Названные решенияДедупликация и повторное появление теперь сообщают, какие уязвимости были объединены, во что и по каким значениям, а не только сколько их. В больших сканированиях называются первые двадцать каждого вида, а остальные подсчитываются.
Ход проверкиКаждый вердикт записывается в журнал по мере получения — с идентификатором уязвимости, решением, уверенностью и доказательствами.
Top 10 Vulnerability ClassesПанель Vulnerabilities теперь ранжирует классы уязвимостей, а не заголовки уязвимостей, с разбивкой по критичности и числом репозиториев, которые затрагивает каждый класс. Заголовки, написанные моделью, различаются между запусками, и прежняя панель тратила свои десять мест на формулировки вместо риска. Нажатие на класс фильтрует список ровно до тех уязвимостей, которые в нём учтены.

Исправления

ИсправлениеОписание
Verify Fixes сканировал весь репозиторийНесовпадение имени режима между консолью и средой выполнения сканирования приводило к тому, что задание Verify Fixes скатывалось к полному сканированию репозитория. Теперь оно маршрутизируется правильно и сканирует только файлы выбранных уязвимостей.
Выбор уязвимостей терялся в среде выполненияЗапись об области сканирования пересобиралась без идентификаторов выбранных уязвимостей, и запуск мог повторно оценить — и при включённом закрытии устранить — уязвимости, которые никто не выбирал. Теперь выбор передаётся до конца, а запуск, пришедший без него, отказывается что-либо закрывать.
Проверка могла молча завершиться сбоемЗапись строки в журнал сканирования закрывала сессию базы данных: проверяемые уязвимости отсоединялись, и весь проход прерывался. Теперь проверка перечитывает каждую уязвимость по ходу работы.
Связь с AI-провайдером за проксиИ SDK Anthropic, и SDK OpenAI используются через адаптивный HTTP-транспорт, а собственный набор корневых сертификатов теперь добавляется к системному хранилищу доверия, а не заменяет его: сертификат прокси больше не ломает проверку всего остального.
Одновременный запускСервисы, стартующие одновременно, больше не конфликтуют, когда релиз добавляет таблицу.

Обновляетесь с v4.0? Два действия стоит выполнить осознанно. Выполните по одному полному сканированию на каждый репозиторий, чтобы у каждого появился сохранённый анализ архитектуры безопасности для переиспользования, и оставьте Resolve findings verified as fixed выключенным, пока не почитаете вердикты нескольких повторных сканирований. Всё остальное применяется само.

Проверено: 2026-08-27