Hunting Python Unsafe Deserialization

Hunt Python deserialization that executes attacker code: untrusted input reaching pickle.loads, an unsafe YAML load, marshal, jsonpickle, dill, or a numpy or pandas loader that unpickles, where the format supports arbitrary object construction through __reduce__ or a tag. Covers pickled data in requests, cookies, caches, message queues, and model or dataframe files, and YAML documents that instantiate arbitrary Python objects. Use when a service loads serialized Python objects it did not produce with a loader that reconstructs arbitrary types rather than parsing data only. The untrusted serialized blob is the source, the reconstructing loader is the sink, and the __reduce__ or object tag that runs a callable during load is the bug.

UnboundCompute 6f5e4ea 8.4 KB Updated

File contents

UnboundCompute/security-agent-skills/tree/main/skills/hunting-python-unsafe-deserialization commit 6f5e4ea2fb

Frequently asked questions

npx skillmds@latest add unboundcompute/hunting-python-unsafe-deserialization