MLOps Path

9.4.1 · блок 9

Безопасность ML supply chain

Безопасность ML supply chain

Зачем это нужно

ML-сервис поставляет не только код: в production попадают образ, зависимости, модель, данные и конфигурация. Каждый из них может быть подменён или содержать уязвимость. Безопасность supply chain проверяет, что именно вы собираете и запускаете.

Основные идеи

Риск сериализации. pickle, joblib и похожие Python-форматы могут выполнить произвольный код при загрузке. Загружайте только проверенные артефакты из доверенного registry; для подходящих сценариев рассмотрите safetensors, ONNX или другие форматы без исполнения кода.

Подпись образов. Cosign подписывает container image; deployment policy может разрешать запуск только подписанных образов по digest. Тег latest не является идентификатором поставки.

SLSA описывает уровни и provenance software supply chain: кто и каким процессом собрал артефакт. Это рамка для улучшений, а не одна кнопка безопасности.

Trivy сканирует образы, filesystem и конфигурации на известные уязвимости и misconfiguration. Найденный CVE нужно оценить по достижимости и контексту, а не молча игнорировать или блокировать всё подряд.

Как это выглядит на практике

CI собирает inference image из lockfile, сканирует его Trivy, публикует по digest и подписывает Cosign. Model registry хранит hash модели и approval. CD принимает только digest, соответствующий allowlist и подписи.

Артефакт model.pkl, присланный в чат, не загружают «для быстрой проверки». Его происхождение, hash и формат сначала проверяют; при сомнении модель переэкспортируют в безопасном контуре.

Что сделать после занятия

Официальные материалы

Открыть интерактивную версию