On 11 April 2016 at 17:53, Jon Ribbens <jon+python-...@unequivocal.co.uk> wrote: >> You're limiting the subset of Python that people can use, >> understood. And you're trying to ensure that people can't do "bad >> things". Again, understood. But what subset are you actually allowing, >> and what things are you trying to protect against? (For example, I >> can't calculate sin(1.2) using the math module - why is that not >> alllowed? > > It wasn't allowed in the earlier version because I wasn't allowing > import at all, because this is just an experiment. As it happens, > I added 'import' yesterday so yes you can use math.sin.
Well, I'll ask the obvious question, then. In allowing "import" did you allow "import ctypes"? If so, then I win :-) Or did you explicitly whitelist certain modules? And if so, which ones are they, and did I succeed if I manage to import a module you hadn't whitelisted? >> It feels at the moment as if I'm playing a game where I don't know the >> rules, and every time I think I scored a point, the rules are changed >> to retroactively disallow it. > > The challenge is to show some code that will escape from the sandbox, > in a way that is not trivially fixable with a tiny patch, or in a way > that demonstrates that such a large number of tiny patches would be > required as to be unworkable. But I'm still not clear when I count as "outside the sandbox", given that I don't know what the rules of what is allowed *in* the sandbox are... Paul _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com