Sirius Argus: безопасность внутри ML-пайплайна

Мой архитектурный вклад в Sirius Argus: жизненный цикл ML-модели, единая точка выпуска, ручной гейт и реальные экраны публичного проекта.

Sirius Argus: безопасность внутри ML-пайплайна

Задача

Sirius Argus начался как финальный командный проект программы «Безопасность технологий ИИ: от разработки до эксплуатации» Сириус × Альфа-Банк. Работу над кейсом начали 1 июня 2026 года; финальная защита прошла 6 июня.

Совместная работа участников программы ML SecOps в учебной аудитории
Совместная работа на программе Сириус × Альфа-Банк.

Задача — связать безопасность с жизненным циклом модели: подготовкой данных, обучением, хранением артефактов, выпуском и эксплуатацией. Набор отдельных сканеров сам по себе не даёт ответа, какую модель можно выпускать и кто за это решение отвечает.

В учебном кейсе рассматривали закрытый контур банка и поступление внешней модели, например с Hugging Face. Архитектурная цель — проверить артефакт до выпуска, связать находки с решением об одобрении и сохранить контроль при дальнейшей работе с моделью.

Ключевой вопрос для меня был таким: если модель прошла проверку, как убедиться, что в эксплуатацию отправили именно этот артефакт, а решение принял человек с подходящими полномочиями? Это связывает ML security с обычными задачами backend: идентичностью объектов, авторизацией действий и историей изменений.

Архитектурная идея

В основе Argus — единая точка управления выпуском. Модель проходит через контрольную плоскость, где проверяются доступ, результаты проверок и условия релиза.

Интерфейс Sirius Argus: карта жизненного цикла с гейтами данных, артефакта, валидации и выпуска
Карта жизненного цикла модели в Sirius Argus. Демонстрационный прогон.

Защита распределена по четырём направлениям: обнаружение активов, безопасность цепочки поставок, валидация модели и контроль в эксплуатации.

В текущем публичном проекте центральный сервис связывает версии, результаты сканов и решения о выпуске. Реестр и объектное хранилище находятся за ним; долгие проверки вынесены в очередь. Это позволяет подключать отдельные инструменты и сохранять общий контракт действий. Обзор проекта.

КомпонентОтветственность
Control plane на FastAPIПроверка прав, управление гейтами и реестрами, общий интерфейс
MLflow и MinIOВерсии моделей и хранение артефактов
PostgreSQLСвязи активов, находки, решения и аудит
RedisОчередь сканирования и доставка событий

Разделение компонентов и сетевые границы описаны в архитектуре проекта.

Моя роль

Мой вклад в команде был сосредоточен на архитектурном предложении:

  • концепция Zero Trust и единой точки входа;
  • ролевая модель и разграничение доступа по чувствительности данных;
  • подход к аудиту моделей и анализу угроз;
  • помощь с презентацией и координация предзащит.

Предлагал рассматривать контур разработки и контур эксплуатации отдельно: у них разные пользователи, активы и способы воздействия на модель. При этом между ними должен быть проверяемый переход с контролем версии и прав доступа.

Архитектуру обсуждали с куратором и уточняли к защите. 1 июня начали работу над кейсом, 3 июня провели первую предзащиту, 5 июня — вторую, 6 июня — финальную. Техническая реализация платформы — общий результат команды.

Как проверки связаны с выпуском

Реестр хранит модели, версии и связанные активы. Сканирование создаёт находки, привязанные к этим активам. Перед выпуском система проверяет политики; для критичных версий требуется решение человека.

Так можно проследить путь конкретного артефакта: от поступления и проверки до одобрения и развёртывания. Важна и связь решения с версией модели: разрешение на один артефакт не должно автоматически разрешать другой.

В публичной реализации для критичной версии проверяются модель-карта, воспроизводимость, подпись и открытые критические находки. Одобрение выполняет другой специалист MLSecOps: автор запроса не должен сам разрешать свой выпуск. Решение связано с хешем артефакта. Сценарии проверки ручного гейта.

Экран Sirius Argus с проверками модель-карты, воспроизводимости, подписи и ручными кнопками одобрения или отклонения
Ручной гейт: причины ожидания выпуска и решение другой роли. Демонстрационные данные.

Подпись подтверждает происхождение и целостность артефакта. Поведенческие свойства модели требуют своих проверок: даже корректно подписанная версия может содержать нежелательную логику. Поэтому подпись используется вместе со сканированием и валидацией. Это различие закреплено в решении о подписи и провенансе.

Как показать работу защиты

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

ПроверкаОжидаемое поведение
Опасный сериализованный артефактБлокируется до десериализации, создаётся критическая находка
Критичная версия без одобренияВыпуск остаётся заблокирован
Действие вне полномочий ролиОтказ в доступе и запись события
Серия запросов, похожая на extractionОграничение запросов и находка в общем контуре

Эти случаи описаны в каталоге BDD-сценариев. Они дают проверяемые условия для конкретных угроз, но не обещают обнаружение любой атаки.

Для проверки контур поднимается локально через Docker Compose. make demo прогоняет отдельные защитные сценарии, а make pipeline ведёт одну модель через приём, сканирование, согласование, выпуск, рантайм-проверку и вывод из эксплуатации. Команды и условия запуска приведены в руководстве проверяющему.

Результат и дальнейшая работа

Командный проект был защищён в Сириусе. Сейчас его устройство и продолжение разработки доступны в публичном репозитории Sirius Argus.

Группа участников программы ML SecOps в Университете Сириус
Участники образовательной программы в Сириусе.

После учебной защиты разработка продолжилась в публичном репозитории. В демо используются три негенеративные sklearn-модели на наборе iris. Подробнее о текущем состоянии — в README.

Этот опыт связал для меня backend, архитектуру доступа и ML security: безопасность стала частью процесса принятия решений о модели.

Отбор и программа MLSecOps · Сертификат ДПО

Материалы: программа в ГУАП · фотоальбом Киберполигона ГУАП · карта пайплайна · ручной гейт из репозитория Георгия Мамарина (dmagog).

Авторский пост защищен лицензией CC BY 4.0 .

Контакты