
신뢰할 수 없는 코드를 실행하기 위한 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를 사용할 수도 있지만, strace는 파일 디스크립터를 참조하는 반면, goBox는 fd의 절대 경로를 출력하여 한눈에 훨씬 쉽게 확인할 수 있습니다.
> gobox ls
Wanting to READ /usr/lib/x86_64-linux-gnu/libselinux.so.1 [y/n]
참고: 민감한 데이터는 모두 암호화하는 것이 확실히 더 좋은 방법이며, goBox는 암호화가 불편하거나 비현실적인 경우에만 사용해야 합니다.
참고: 크로스 플랫폼 호환성을 위한 노력은 하지 않았으므로 현재 Linux에서만 작동합니다. 이식성을 개선하기 위한 패치를 기꺼이 받겠습니다.