安全JavaScript沙箱 “构建一个简单的CLI工具,该工具可以在安全的隔离进程或线程中部署和运行任意JavaScript文件。” 我们希望以安全的方式执行不受信任的第三方JavaScript代码,并通过命令行界面(CLI)管理执行。 我们使用Docker作为我们的沙盒技术(运行不受信任的代码的机制)。 代码将在隔离的容器进程中运行,我们将通过Docker启动,清理和监视该进程。 使用Docker代替虚拟机可以缩短启动时间,但是会带来一些额外的安全隐患。 我们在Go (类似于C的跨平台编译语言)中实现了CLI和沙箱启动器。 我们假设大多数代码将使用Node.js运行时(由node或npm调用)运行。 尽管如此,Docker镜像也支持其他JavaScript运行时和引擎。 用法 使用Node.js运行JavaScript文件并实时查看结果 sjs run test/javascr