On 11 May 2005 05:56:04 -0700, [EMAIL PROTECTED] wrote: >Sorry, should maybe have used __import__ as an example. >Let's say I grab import, store the reference within the Isolate class >and then redirect the builtin import to a function in the Isolate class >which only allows certain modules to be imported -eg not sys. Would >this be secure? >
Probably not. For example: >>> (1).__class__.__bases__[0].__subclasses__()[-1]('/dev/null') <open file '/dev/null', mode 'r' at 0xb7df53c8> Security through subtracting features usually ends up leaving some holes around (because there's just that *one* more thing you missed). What the holes are depends on the details of the implementation, but they pretty much always exist. Making a reference-restricted Python interpreter is a large challenge: you either have to spend a huge amount of effort taking things out of CPython (months and months of development time, at least), or write a new interpreter from scratch. Older versions of Python thought they had this licked, see the rexec module for the attempt that is no longer maintained. Jp -- http://mail.python.org/mailman/listinfo/python-list