[Python-Dev] Implementing restricted Python in Zope2 (original) (raw)

Guido van Rossum guido at python.org
Thu Jul 17 23:04:34 CEST 2008


Thanks. Then python-dev is definitely the wrong forum. :-)

On Thu, Jul 17, 2008 at 1:26 PM, Phillip J. Eby <pje at telecommunity.com> wrote:

At 11:27 AM 7/17/2008 -0700, Brett Cannon wrote:

On Thu, Jul 17, 2008 at 10:54 AM, ranjith kannikara <ranjithkannikara at gmail.com> wrote: > I have taken the gsoc 08 project of porting zope2 to python2.5. > Through my way to the successful completion of the project I have to > implement Restricted python in Zope2. I could only get the information > that the python AST has not changed on moving from python2.4 to 2.5 > but Restricted Python is not well documented enough for a stident to > test the Zope2 's Restricted Python implentation. > > As a student I am not familiar with Restricted Python and python AST > implementation.And in need of help to start the Restricted Python > implementation. > What do you mean, "Restricted Python"? If you mean rexec and Bastion, they are no longer supported, and that began before 2.5. No, he means the restricted Python compiler and capability-proxy system used by Zope. You know, the one I always bring up whenever anybody says they want to implement capabilities in Python? ;-) Zope's restricted Python is basically a combination of a special compiler, builtin replacements, and a proxy type. Instead of using LOADATTR opcodes, the compiler generates code that calls a special getattr() function instead, and most objects other than relatively-safe builtin types are wrapped in proxies that control what attributes can be accessed and what operations can be performed. The restricted Python framework itself doesn't impose any particular security policy; proxies delegate checks to "checker" objects that are essentially capabilities. Mostly, it focuses on creating a safe sandbox that can be expanded. There are two parts to the implication; one is called RestrictedPython and lives at: http://svn.zope.org/RestrictedPython/trunk The other part is "zope.security.untrustedpython", and it's part of the zope.security distribution; see: http://svn.zope.org/zope.security/trunk/src/zope/security/untrustedpython/ for its specific code and docs. Both packages appear to have automated tests.


Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/guido%40python.org

-- --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list