可信沙盒使用Docker在包含的沙箱中运行不受信任的代码。Trusted Sandbox使得在资源控制的Docker容器中执行eval不受信任代码的类变得简单。最简单的入门方法是在容器中运行“内联”代码:


require 'trusted_sandbox'

untrusted_code = \"input[:number] ** 2\"

# 以下代码将在Docker容器中运行

output = TrustedSandbox.run_code!(untrusted_code, input: { number: 10 })

# => 100

run_code! 接收用户代码和参数散列。当用户代码执行时,参数散列中的任何键都可用。