AI - сканирования¶
Примечание
Раздел доступен при наличии лицензии на модуль AI. После получения расширенной лицензии необходимо пересохранить фид с тем же токеном на странице Состояние системы в разделе «Сервис данных».
Для просмотра раздела требуется право Просмотр AI-сканирований. Управление записями (изменение приоритета, перескан, удаление) требует прав Редактирование AI-сканирований и Удаление AI-сканирований соответственно. Права выдаются администратором через раздел Права и роли (см. раздел «Права доступа»).
Раздел AI - сканирования предназначен для контроля проверок безопасности ML-моделей, распространяемых через менеджер репозиториев. Проверка выполняется инструментом ModelScan и дополняет практики OSA (Open Source Analysis) и SCA (Software Composition Analysis), которые AppSec.Track применяет к OSS-компонентам.
ModelScan обрабатывает по одной модели за раз, а сами модели могут иметь значительный размер и требовать длительной проверки. Поэтому запросы на сканирование выстраиваются в очередь, а раздел AI - сканирования позволяет наблюдать за её состоянием и управлять порядком обработки.
Чтобы открыть раздел, выберите в меню слева пункт AI - сканирования. На экране появится страница со списком сканирований.
Запуск сканирования ML-модели¶
Сканирование запускается автоматически: когда разработчик через Track.Plugin запрашивает артефакт из репозитория с типом huggingface, AppSec.Track ставит модель в очередь на проверку и временно блокирует доступ к артефакту. Доступ открывается после завершения проверки безопасности.
Артефакты других типов репозиториев обрабатываются стандартным потоком OSA без постановки в очередь ModelScan.
При постановке в очередь разработчик немедленно получает уведомление о блокировке с идентификатором записи (ID) и текущей позицией в очереди — ждать завершения сканирования для получения ответа не требуется.
Повторные запросы того же артефакта дедуплицируются: если модель уже находится в очереди или сканируется, новая запись не создаётся, а запрос сопоставляется с существующей записью.
Поддерживаемые форматы моделей¶
Инструмент ModelScan анализирует не любые файлы ML-моделей. В таблице ниже приведены форматы и признак их поддержки. Форматы с признаком Нет инструментом ModelScan не проверяются.
| Формат | Сканируется |
|---|---|
pytorch_model.bin |
Да |
pickle, .pkl |
Да |
h5 |
Да (при установленном h5py) |
SavedModel |
Да |
safetensors |
Нет |
gguf |
Нет |
Примечание
Перечень поддерживаемых форматов определяется версией инструмента ModelScan (в текущем релизе — 0.8.8) и может измениться при её обновлении.
Вкладки¶
Список сканирований разделён на две вкладки:
- Планируемые — записи, ожидающие обработки (статус Ожидает), и запись, которая сканируется в данный момент (статус В процессе).
- Завершённые — записи, по которым сканирование завершилось: успешно (статус Завершено) или с ошибкой (статус Ошибка).
Сведения о сканированиях¶
Каждая строка таблицы соответствует одному сканированию и содержит следующие поля:
- # — порядковый номер записи в списке. На вкладке Планируемые отражает очередь обработки: сканирование под номером 1 будет выполнено следующим.
- Модель — назвение ML-модели.
- Файл — имя файла (артефакта).
- Объект — репозиторий-источник, из которого запрошена модель.
- Статус — текущее состояние сканирования, отображается цветной меткой (см. раздел «Статусы сканирования»).
- Запрос — дата и время поступления запроса на сканирование.
- Начало — дата и время начала сканирования. Для записей в статусе Ожидает отображается прочерк.
- Завершение — дата и время завершения сканирования. Для записей в статусах Ожидает и В процессе отображается прочерк.
- Длительность — продолжительность сканирования. Для записи в статусе В процессе отображается таймер, который обновляется в режиме реального времени; для завершённых записей — итоговая длительность в формате
чч:мм:сс; для записей в статусе Ожидает — прочерк. - Действия — кнопки управления записью в зависимости от её статуса и прав пользователя (см. раздел «Действия над записями»).
Данные в таблице обновляются автоматически: при изменении статуса сканирования соответствующая строка обновляется без перезагрузки страницы. Если записей больше, чем помещается на одной странице, используйте постраничную навигацию под таблицей.
Статусы сканирования¶
На вкладке Планируемые:
- Ожидает — запись находится в очереди и ожидает обработки.
- В процессе — модель сканируется в данный момент.
На вкладке Завершённые:
- Завершено — сканирование завершено успешно.
- Ошибка — сканирование завершилось с ошибкой.
Поиск и фильтрация¶
Над таблицей со списком сканирований расположена панель поиска и фильтрации. Доступны следующие параметры:
- Поиск — поиск по записям очереди.
- Модель — фильтр по имени модели (артефакта).
- Объект — фильтр по репозиторию-источнику.
- Статус — фильтр по статусу сканирования (Ожидает, В процессе, Завершено, Ошибка).
- Дата запроса — фильтр по периоду поступления запроса.
- Дата начала — фильтр по периоду начала сканирования.
- Дата завершения — фильтр по периоду завершения сканирования (доступен на вкладке Завершённые).
Просмотр лога сканирования¶
Для записей в статусах Завершено и Ошибка доступен просмотр лога сканирования. Нажмите на строку, чтобы раскрыть её: под строкой отобразится содержимое лога ModelScan. Для успешного сканирования лог содержит сведения о проверке и итоговый отчёт, для завершившегося с ошибкой — описание причины прерывания. Просмотр лога доступен пользователям с правом Просмотр AI-сканирований.
Действия над записями¶
Операции над записями выполняются кнопками в колонке Действия и доступны в зависимости от выбранной вкладки, статуса записи и прав пользователя. При доступе только на чтение (право Просмотр AI-сканирований без прав на редактирование и удаление) кнопки управления не отображаются.
Изменение приоритета¶
Примечание
Действие доступно только для записей в статусе Ожидает и требует права Редактирование AI-сканирований.
На вкладке Планируемые нажмите на кнопку Поднять в начало в строке записи, чтобы переместить её в начало очереди: запись станет первой среди ожидающих обработки и будет отправлена на сканирование раньше остальных.
Перескан¶
Примечание
Действие доступно только для записей в статусах Завершено и Ошибка и требует права Редактирование AI-сканирований.
Перескан повторно ставит модель в очередь на проверку. Чтобы перезапустить сканирование:
- На вкладке Завершённые нажмите на кнопку Перескан в строке записи.
- В появившемся окне Перезапуск сканирования нажмите на кнопку Перезапустить.
Будет создана новая запись в конце очереди со статусом Ожидает; исходная запись сохраняется без изменений.
Удаление¶
Внимание
Действие доступно для записей в статусах Ожидает, Завершено и Ошибка и требует права Удаление AI-сканирований. Удалить запись в статусе В процессе нельзя.
Нажмите на кнопку Удалить в строке записи, чтобы убрать её из списка. Удалённая запись перестаёт отображаться и не учитывается при расчёте позиций в очереди.
Данные на странице информации о компоненте¶
На странице информации о компоненте (в контексте результатов OSA) актуальные результаты сканирования ModelScan не отображаются. Там фиксируется только решение, принятое в момент запроса модели из плагина:
- факт блокировки доступа к артефакту;
- статус на момент запроса — модель поставлена в очередь сканирования;
- идентификатор записи в очереди (ID);
- порядковый номер в очереди на момент запроса.
Актуальный статус сканирования и результаты проверки ModelScan доступны только в разделе AI - сканирования (при наличии права Просмотр AI-сканирований).


