gpt4 book ai didi

python - 沙盒 python 插件

转载 作者:行者123 更新时间:2023-11-28 20:29:24 25 4
gpt4 key购买 nike

我打算用 python (+qt4) 编写一个可插入的应用程序。但是我非常担心安全问题。插件应该足够强大,可以在应用程序中做任何他们喜欢的事情(作为进一步的限制,在使用这样的插件时会有一个签名过程和警告用户),但与环境(文件系统,其他进程)交互、网络等)应该由插件仅通过我将编写的一些 python 代码来完成。

除了在安装插件之前必须对插件代码进行静态代码分析之外,是否有任何安全且简单的方法来实现它?

最佳答案

简而言之:没有。

说明:多年来,Python 专家们一直在尝试为 Python 构建一个沙箱。沙箱的问题是你需要做一些事情来做任何 IO(即能够在你的沙箱和应用程序之间传输数据)。他们没有找到一种自动的、pythonic 的方式来做到这一点。要么,您无法与插件交换数据,要么内省(introspection)将允许遍历应用程序中的对象树 -> 访问您喜欢的所有内容。

想象一下您的想法:该插件调用您编写的一些 Python 代码。这可能意味着调用一个方法或函数。这意味着你必须给我一个有效的方法或函数对象。从方法或函数对象,我可以得到你的模块对象。从您的模块中,我可以获得所有符号(即导入)。从那里,我可以做你的模块可以做的一切(至少)。

See this article一些指点。

关于python - 沙盒 python 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2673879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com