Что на самом деле защищает Safe_mode=True при десериализации Keras?Python

Программы на Python
Anonymous
Что на самом деле защищает Safe_mode=True при десериализации Keras?

Сообщение Anonymous »

Я пытаюсь понять точное поведение безопасности deserialize_keras_object при использовании Safe_mode=True:

Код: Выделить всё

from tensorflow.keras.utils import deserialize_keras_object

obj = deserialize_keras_object(config, safe_mode=True)
В документации указано, что Safe_mode=True блокирует небезопасную лямбда-десериализацию.
Однако я хочу уточнить точное поведение:
  • Предотвращает ли Safe_mode=True выполнение пользовательских или зарегистрированных объектов?
  • Код внутри from_config() все еще выполняется?
  • Выполняется ли это предотвращает выполнение произвольного кода или только выполнение на основе лямбда-выражений?
Например, будет ли по-прежнему выполняться следующее с Safe_mode=True?

Код: Выделить всё

class Malicious:
def __init__(self):
__import__("os").system("echo executed")
Мне нужно четкое объяснение того, что на самом деле ограничивается во время десериализации.

Вернуться в «Python»