Ruby中的安全执行

我正在努力建立一个人们可以在那里上传代码的网站。 类似SPOJ / ACM的东西。 如何确保代码不会损坏我的系统(限制对套接字,系统调用的访问)

我在网上看了很多解决方案,一些建议chroot但我不明白。 这也需要配置,这可以通过配置等完成。

注意我不是要求使用可执行文件运行的任何特定语言。

我的开发设置是用于托管的MAC和Linux,如果解决方案可以同时运行,那就太好了。 不是要求。

我建议使用一个只有系统最小的虚拟机,只允许ruby运行而不是其他任何东西。 我会使用一个linux系统,你可以通过扩展权限在更大程度上锁定程序的执行。

最后,在每个程序运行后,将虚拟机重置为检查点原始设置,以便擦除可能发生的任何事故。

看看RubyCop

RubyCop扫描Ruby代码并告诉您它是否安全。 我们在CodeSchool使用它来检查用户提交的代码,然后再在服务器上进行评估。

请检查Ruby内置的污染机制