Python: Kann ich nicht vertrauenswürdige Daten sicher entfernen?

DasPickle-Modul-Dokumentation sagt gleich zu Beginn:

Warnung: Das Beizmodul ist nicht dafür vorgesehen, vor fehlerhaften oder böswillig erstellten Daten geschützt zu sein. Entpicken Sie niemals Daten, die von einer nicht vertrauenswürdigen oder nicht authentifizierten Quelle stammen.

Aber weiter unten inGlobale einschränken Es scheint eine Methode zu beschreiben, mit der das Abwählen von Daten mithilfe einer Whitelist zulässiger Objekte sicher gemacht werden kann.

Bedeutet dies, dass ich nicht vertrauenswürdige Daten sicher entfernen kann, wenn ich a verwende?RestrictedUnpickler Das erlaubt nur einige "elementare" Typen, oder gibt es zusätzliche Sicherheitsprobleme, die von dieser Methode nicht behoben werden? Wenn ja, gibt es eine andere Möglichkeit, das Entpicken sicherer zu machen (natürlich auf Kosten der Tatsache, dass nicht jeder Stream entpickt werden kann)?

Mit "Elementartypen" meine ich genau das Folgende:

boolstr, bytes, bytearrayint, float, complextuple, list, dict, set undfrozenset

Antworten auf die Frage(2)

Ihre Antwort auf die Frage