AppSec Solutions решает проблему скрытых угроз в ML-моделях
Платформа AppSec.Track стала первым на российском рынке продуктом, который проверяет модели из онлайн-репозитория Hugging Face до их попадания в корпоративную инфраструктуру, не допуская выполнения вредоносного кода на машинах разработчиков и в CI. В основе проверки лежит собственная база данных AppSec.Track с информацией об уязвимостях компонентов и зависимостей.
Каждая модель, запрашиваемая из Hugging Face через корпоративный репозиторий, автоматически помещается в так называемый «карантин» и проходит проверку до того, как станет доступна разработчику. Пока модель сканируется, доступ к ней заблокирован, а разработчик видит статус проверки и позицию в очереди.
AppSec.Track анализирует файлы модели без ее запуска и ищет внутри код, способный выполниться при загрузке. Проверяются системы, в которых модели распространяются чаще всего, например, PyTorch, TensorFlow, Keras и другие сериализованные форматы, включая вложенные архивы, чтобы вредоносный артефакт нельзя было скрыть глубже. Каждая обнаруженная угроза получает уровень критичности, что позволяет командам оценивать риски и принимать решения о возможности использования модели до ее попадания в корпоративную среду.
Статический анализ показывает, что находится внутри самой модели, проверяя каждый файл без исключений. Однако вместе с моделью в проект попадает окружение из репозиториев PyPI и npm, через которое она загружается и работает, и их безопасность необходимо контролировать отдельно. Эту задачу решает фид AppSec.Track — база данных об уязвимостях, которая объединяет сведения из отраслевых источников и результаты собственных исследований AppSec Solutions. Она охватывает экосистемы, из которых собирается ML-стек, такие как PyPI, npm, Maven, NuGet, а также CUDA, Julia и другие специализированные репозитории.
На этапе сборки AppSec.Track формирует SBOM (перечень всех компонентов проекта) и сверяет его состав с фидом. Повторно сканировать саму модель не требуется, она проходит проверку еще на входе в корпоративную среду. Подключить фид можно онлайн или развернуть внутри закрытого контура, где анализ выполняется в изолированной сети без выхода во внешние источники.
Такой подход снижает нагрузку на команды разработки и ИБ. Критерии задаются один раз, после чего AppSec.Track автоматически применяет настроенные политики безопасности и определяет, можно ли использовать модель или компонент в проекте. Эти правила работают как при первом запросе из внешнего источника, так и на каждой последующей сборке.
«ML-модель — это не просто «веса», а исполняемый артефакт. Модели из публичных хабов распространяются в сериализованных форматах, которые при загрузке способны выполнить произвольный код на машине разработчика или прямо в CI. Достаточно один раз загрузить зараженную модель, чтобы злоумышленник получил доступ к среде. Классический сканер зависимостей такую угрозу не видит, потому что вредонос спрятан внутри самого файла модели, а не в списке пакетов.
В перспективе индустрия будет переходить на формат safetensors для хранения весов моделей в безопасном виде. Но пока значительная часть публичных хабов лежит в pickle, необходим механизм предварительной проверки. Поэтому мы проводим анализ по двум рубежам: на входе в контур модель проверяется изнутри и дальше не пересканируется, а на этапе сборки её окружение контролируется с помощью SBOM через наш фид», — поясняет Михаил Макаров, руководитель продукта AppSec.Track.
Новый функционал AppSec.Track предназначен для организаций, которые используют ML-модели из открытых источников в корпоративной разработке. Он позволяет встроить их проверку в процессы DevSecOps и обеспечить единый контроль безопасности на всем пути модели в организации, от запроса из внешнего источника до сборки продукта, в котором она используется.



