Como executar código Ruby não confiável dentro de uma sandbox segura?

Eu quero ser capaz de executar código ruby ​​não confuso. Eu quero ser capaz de passar variáveis ​​para o código não confiável que ele pode usar. Eu também quero que o dito código retorne um resultado para mim. Aqui está um exemplo conceitual do que estou pensando

input = "sweet"
output = nil
Thread.start {
   $SAFE = 4
   #... untrusted code goes here, it uses the input variable(s)
   #to calculate some result that it places in the output variable
}
#parse the output variable as a string.

Só para esclarecer, estou basicamente usando o código não confiável como uma função. Eu quero fornecer algumas entradas e, em seguida, permitir que ele grave na saída. Isso é tudo que eu realmente quero, eu não me importo como isso é feito, eu só quero a habilidade de usar código Ruby não confiável como uma espécie de função. A solução não precisa ser parecida com o código que eu escrevi acima, estou apenas usando para ilustrar o que eu quero.

Agora, posso pensar em três maneiras de fazer isso:

Use o constructo de nível $ SAFE acima.whytheluckystiff tem um plugin Sandbox para RubyEu poderia executar cada função em sua própria máquina virtual, usando algum tipo de software de virtualização como vmware ou Xen ou algo assim.

Eu estou querendo saber se alguém tem alguma recomendação para executar o código de ruby ​​não confiável de forma funcional? Qual opção você recomendaria? Como você faria isso? Obrigado.

questionAnswers(4)

yourAnswerToTheQuestion