小编hip*_*ano的帖子

使用 Exec 或 Eval 在 AWS-LAMBDA 中运行不受信任的 Python 代码

一直在做大量的研究。我只是一个学徒,但是,我有一个项目,我必须从网站运行用户不受信任的 Python3 代码。

如果这个问题有一些变化,我也提前道歉。

  • 我正在寻找一种尽可能安全的方法。这不需要 100% 完美,除非存在泄露极其敏感数据的巨大风险

主要问题

  • 我的AWS-lambda计划是否存在泄露敏感数据的极大风险
  • 我还应该采取其他简单的预防措施来使AWS-lambda中的工作更安全吗?
  • 如果我连接到的只是用于 REST 调用的单个AWS-api-gateway,那么exec()是否有办法突破AWS-lambda容器并建立任何其他网络连接?
  • 我是否需要限制__builtins__本地变量,或者 AWS-lambda 容器是否足够安全?

背景

似乎大多数公司都使用KubernetesDocker 容器来执行不受信任的 python 代码(例如LeetcodeProgramizhackerRank)。

请参阅这些有用的链接:

我的计划

我想我可以将我的任意 Python 代码作为微服务发布到 AWS Lambda 函数,使用它们的 容器化/扩展,而不是构建我自己的。在 Lambda 容器中,我可以通过简单的execeval函数来运行代码,也许有一些限制,如下所示:

safe_list = ['math','acos', 'asin', 'atan', 'print','atan2', 'ceil', 'cos', 'cosh', 'de …
Run Code Online (Sandbox Code Playgroud)

python architecture amazon-web-services aws-lambda aws-api-gateway

6
推荐指数
1
解决办法
2031
查看次数