I hope you are at least aware that over the years various multi-year
attempts to create Python sandboxes ultimately failed to the point of being
altogether abandoned.

Python and Javascript differ fundamentally that Python runtime is
intrinsically bound to I/O, like filesystem access - which is a thing that
is isolated and "plugged-in by the environment" in Javascript.

Besides that, the object model allows one to - sometimes not so easily, but
always consistently - bypass any write-restrictions to variables and other
memory states that would be used to restrict any access.

Ultimately  any sandboxing in Python has to be accomplished at OS level
(like running everything in a container), at which point there is no
granularity to restrict individual Python packages or modules anyway.

On Sun, Feb 26, 2023 at 12:32 PM python--- via Python-ideas <
python-ideas@python.org> wrote:

> Hello all,
>
> Supply chain attacks are becoming a pressing concern in software
> development due to the large number of dependencies and multiple attack
> vectors. Using third party modules (libraries, packages etc)  is always a
> risk but the true potential of these attacks is now being weaponized. One
> way to deal with the risk is by limiting access to sensitive APIs like
> filesystem, shell, network and ffi so that packages which aren't explicitly
> granted permissions cannot use them, reducing their ability to do damage.
>
> For example, a yaml parser should not need to use ffi, network nor shell.
> A command line argument parser library should not use network, ffi nor
> filesystem. Deno, a runtime for Typescript contains an interesting
> implementation of a permissions model for APIs.
>
> I strongly think Python could benefit from such functionality and hacked
> together a quick experiment here: https://github.com/R9295/cpython
> Currently, it only prevents module imports in a very elementary manner but
> perhaps it can be of use to spark a discussion for an implementation.
>
> Looking forward to your thoughts,
> Aarnav
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/MZNP5ZJBLMUO74PMZGWJGM6TAZXBK5AS/
> Code of Conduct: http://python.org/psf/codeofconduct/
>
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/U6YSNV5N2YATTZDSGXU4USA3P7TKEIBZ/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to