Atakowanie pikli Pythona

Piszę aplikację internetową, która przechowuje dane wejściowe użytkownika w obiekcie. Ten obiekt zostanie wytrawiony.

Czy użytkownik może tworzyć złośliwe dane wejściowe, które mogłyby zrobić coś skandalicznego, gdy obiekt jest nieoznaczony?

Oto bardzo prosty przykład kodu, który ignoruje wspaniałe zasady, takie jak hermetyzacja, ale uosabia to, na co patrzę:

<code>import pickle

class X(object):
    some_attribute = None

x = X()
x.some_attribute = 'insert some user input that could possibly be bad'

p = pickle.dumps(x)

# Can bad things happen here if the object, before being picked, contained
# potentially bad data in some_attribute?
x = pickle.loads(p)
</code>

questionAnswers(3)

yourAnswerToTheQuestion