EMZETT.
Войти

Небезопасная десериализация: когда данные становятся кодом

Коротко: При десериализации сохранённые байты снова становятся объектами; если вход идёт от злоумышленников, некоторые форматы (pickle, сериализация Java, YAML) могут выполнить произвольный код.

Подробнее: Сериализация превращает объекты в байты/текст (хранение, отправка), десериализация — обратно. Некоторые форматы могут создавать объекты произвольных классов и вызывать методы: с недоверенными данными это ворота для удалённого выполнения кода (RCE).

Подробности

Опасные форматы

  • Python pickle (и shelve, joblib/torch.load с pickle): никогда не загружайте из недоверенных источников.

Защита: предпочитайте форматы только для данных, такие как JSON, проверяйте источник.

См. также: OWASP Top 10, ONNX и экспорт моделей