我正在开发一个需要对不受信任的代码进行沙箱处理的应用程序。提供不受信任的代码的形式并不重要,只要它具有相当的表现力即可。除了将字符串作为输入并返回另一个字符串之外,不需要或不应该允许外部通信。如果结果执行速度相当慢也没关系。我的首要任务是找到一种安全的方法来做到这一点。
NaCl 看起来很有前途,但还没有受到太多敌意的关注。各种 java 和 javascript 沙箱都受到了相当大的打击,但它们都存在最近的权限提升漏洞。
还有其他我应该考虑的沙盒框架吗?我希望有一个相当简单的安全设计框架(如 NaCl,但更成熟),您可以通过审核其代码来说服自己是安全的。我正在研究pypy sandbox,它声称可以做到这一点。但是,据我了解,到目前为止,它并没有受到太多关注。与 plash 等额外的操作系统虚拟化层相结合会在一定程度上降低风险,但这些都很复杂并且也可能存在漏洞。