Amazon web services 在AWS Lambda中运行原始用户输入(代码)的安全风险?

Amazon web services 在AWS Lambda中运行原始用户输入(代码)的安全风险?,amazon-web-services,aws-lambda,Amazon Web Services,Aws Lambda,假设我们从表单字段获取用户输入。为了便于讨论,请讲一些python代码;像2*2这样简单的东西,将其存储为字符串,并从AWS Lambda执行python代码 我们知道2*2是无害的代码,但是如果用户输入了恶意的东西呢 允许用户输入在AWS Lambda中运行,最糟糕的情况是什么 两个明显的风险是 他们能否访问lambda之外的东西(例如AWS密钥/IAM) 他们能做得比删除lambda本身上的文件系统更糟糕吗(这可能无关紧要,因为它是短暂的) 可能会编写占用lambda资源的代码 以类似蠕虫的

假设我们从表单字段获取用户输入。为了便于讨论,请讲一些python代码;像
2*2
这样简单的东西,将其存储为字符串,并从AWS Lambda执行python代码

我们知道
2*2
是无害的代码,但是如果用户输入了恶意的东西呢

允许用户输入在AWS Lambda中运行,最糟糕的情况是什么

两个明显的风险是

  • 他们能否访问lambda之外的东西(例如AWS密钥/IAM)
  • 他们能做得比删除lambda本身上的文件系统更糟糕吗(这可能无关紧要,因为它是短暂的)
  • 可能会编写占用lambda资源的代码
  • 以类似蠕虫的方式启动其他lambda
  • 上述三种风险是否得到保证,或者存在哪些风险

    我试图回答的基本问题是,在没有人工检查的情况下,接受用户(python)输入并在lambda中运行它是否相当安全

    接受用户(python)输入并在lambda中运行它,而无需人工检查,这是否相当安全

    不幸的是,它不是,它的安全风险。lambda代码通过其执行角色将具有与函数相同的权限。因此,无论lambda执行允许什么,您的用户都可以通过运行脚本来执行

    即使您现在以基本权限或无权限执行该功能,随着时间的推移,您或其他人可能会错误地向其添加一些权限,并且您可能最终以管理员权限运行您的功能,您的帐户中的所有资源都对每项操作开放