ai
3 мин
16 августа 2026 г.
Источник: Dev.to AI Feed

Конфигурация вашей модели Keras может содержать упорядоченный объект кода Python.

Labdev
Labdev
RSS AI Ingest
Конфигурация вашей модели Keras может содержать упорядоченный объект кода Python.

Большинство разговоров о вредоносных артефактах ML ограничиваются рассолом. Это понятно: вызов __reduce__ в torch.load является каноническим примером, о котором все читали. Но рассол — не единственный формат файлов в ваших моделях/...

Большинство разговоров о вредоносных артефактах ML ограничиваются рассолом. Это понятно: вызов __reduce__ в torch.load является каноническим примером, о котором все читали. Но Pickle — не единственный формат файла в каталоге models/, который передает загрузчику что-то исполняемое, и сама история Pickle имеет больше крайних случаев, чем предполагает сводная версия. Вот несколько механизмов, описанных достаточно подробно, поэтому они будут полезны независимо от того, запускаете ли вы когда-нибудь сканер. Керас: слой Lambda Keras позволяет вам определить слой как произвольный Python, вызываемый через Lambda. Этот вызываемый объект должен пережить сериализацию, поэтому он сохраняется в конфигурации модели как объект маршаллированного кода. Когда load_model реконструирует модель, он запускает ее. Это не подвиг. Это документированное поведение функции, которую используют люди. Но это означает, что файл .keras представляет собой формат, содержащий код, точно так же, как и Pickle, и конвейер, который рассматривает .h5 как «безопасную альтернативу Pickle», ошибочен. Здесь есть вторая ловушка для любого, кто занимается созданием инструментов: очевидный способ проверить маршалированный BLOB-объект — это его демаршалинг, а marshal.loads на ненадежных входных данных сам по себе небезопасен. Тип большого двоичного объекта может

Хотите внедрить ИИ в ваш бренд?

Спроектируем и развернем автономных агентов и современный цифровой стек под ваши задачи.

Рассчитать проект