
Sandbox GO per eseguire codice non affidabile
Sandbox GO per eseguire codice non fidato.
goBox usa Ptrace per agganciarsi alle syscall READ, dandoti la possibilità di accettare o rifiutare le syscall prima che vengano eseguite.
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
Certo, potresti usare strace, ma fa riferimento a descrittori di file; goBox rende tutto molto più semplice a colpo d'occhio stampando il percorso assoluto del fd.
> gobox ls
Wanting to READ /usr/lib/x86_64-linux-gnu/libselinux.so.1 [y/n]
NOTA: È decisamente una buona idea crittografare tutti i dati sensibili; goBox dovrebbe probabilmente essere usato solo quando ciò è scomodo o poco pratico.
NOTA: Non ho fatto alcuno sforzo per la compatibilità cross-x, quindi attualmente funziona solo su Linux. Accetterei volentieri patch per migliorare la portabilità.