
信頼できないコードを実行するための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でのみ動作します。移植性を向上させるパッチは喜んで受け入れます。