我对V8不是很熟悉,计划在Python Web应用程序中使用它。目的是让用户提交和执行某些JS脚本。显然这是一个安全威胁,因此我正在寻找记录如何“锁定”v8的资源。例如,我能否创建允许调用的函数的白名单?或者不允许引用的库的黑名单?
我对V8不是很熟悉,计划在Python Web应用程序中使用它。目的是让用户提交和执行某些JS脚本。显然这是一个安全威胁,因此我正在寻找记录如何“锁定”v8的资源。例如,我能否创建允许调用的函数的白名单?或者不允许引用的库的黑名单?
如果您使用普通的V8(即不是像node.js这样的东西),那么就不会有任何危险函数。JavaScript本身没有包含文件系统函数等标准库。
恶意用户唯一能做的就是创建无限循环、深度递归和内存占用过高。
如果简单地锁定V8实例(即在chroot中不给予其权限)并且在超过一定时间后如果它没有返回则杀掉进程,这是行得通的吗?