HN🔥 90
💬 23

【徹底議論】サンドボックス分離(Sandbox Isolation)の仕組みと重要性について語り合おう

shayonj
約10時間前

ディスカッション (10件)

1
simonw
約9時間前

WebAssemblyのこのセクションには同意できないな。「実用上の制限は言語サポートだ。Pythonインタープリタ自体とそのC拡張すべてをWASMにコンパイルしない限り、現時点で任意のPythonスクリプトをWASMで動かすことはできない。任意の言語で任意のコードをサンドボックス化する用途において、WASMはまだ実用的ではない」という部分について。WASMにコンパイル済みのPythonインタープリタはすでにいくつか存在するよ。Pyodideもそうだし、CPythonでもWASMは「Tier 2」サポート対象だ:https://peps.python.org/pep-0011/#tier-2 非公式ビルドならここにある:https://github.com/brettcannon/cpython-wasi-build/releases 同じように、WASMにコンパイルされた色々なJavaScriptインタープリタを動かす実験もしてきたけど、一番有名なのはおそらくQuickJSだろうね。僕が作ったデモの一つがこれ:https://tools.simonwillison.net/quickjs (MicroQuickJS版もあるよ:https://tools.simonwillison.net/microquickjs ) だから、非コンパイル言語を実行するターゲットとしてWASMを切り捨てないで。かなりうまく動くよ!

2
pash
約9時間前

よし、2026年序盤の時点で、みんながAIコーディングエージェントをどうサンドボックス化しているか調べてみよう。僕が見てきた感じだと、一番多い答えは(a)「コンテナ」か、(b)「YOLO!(運任せ)」(もしかしたら「エージェントくん、行儀よくしてね」なんて付け加えてるかも)のどちらかだね。僕が試そうとしているアプローチの一つにSandvault [0] (macOS限定) がある。これは古き良きUnixのユーザーシステムに、いくつかの追加対策を組み合わせたものだ。基本的には、エージェントに専用の非特権ユーザーアカウントを与えて、sudoやSSH、共有ディレクトリ経由でやり取りするんだ。0. https://github.com/webcoyote/sandvault

3
mcfig
約8時間前

詳細を書いてくれて助かるけど、かなりマシン寄りな内容だとも感じたな。ユーザーがAIエージェントをサンドボックス化したい時、守りたいのはローカルの.sshキーだけじゃないんだ。マシン外にある大量のリソースへのアクセスも制御したいはず。例えば、エージェントにGitHubのIssueを読み取らせたり、時には何らかの変更を加えることも許可したりといった具合にね。

4
int0x29
約8時間前

もう一つの境界線として、投機的実行についても指摘しておく価値がある。もし機密データがWASM VMのプロセスメモリ内にある場合、例えVMがそれを公開していなくても読み取られる可能性があるんだ。これは異なる当事者のために複数のWASM VMが動いている場合も同じ。WASMの隔離をしっかり機能させるには、VMを別プロセスにする必要があるね。

5
grouchypumpkin
約8時間前

QubesOSは、ハイパーバイザーを介してサンドボックスにカーネル隔離を持たせるために作られたんだ。QubesOSを常用(デイリードライバー)するのは結構大変だから、ほとんどの人が知らないのも無理はない。でもいくつか改善されれば、これが正しいやり方だと思う。

6
CuriouslyC
約8時間前

サンドボックスの隔離はそれほど重要じゃないよ。凝った作りにする必要はなくて、普通の古いVMで十分。本当に重要なのは、エージェントが自分に代わって行動するために与える権限(Capability)をどう制御するかだ。

7
noperator
約7時間前

サンドボックスが自由に外部と通信できるなら、計算の隔離なんて意味がない。ネットワークのリスクに対処するために僕が取り組んでいるプロジェクトがこれ。nftablesファイアウォールを使って、明示的に固定されたドメインの許可リスト(バックグラウンドで常にDNS解決を更新している)へのアウトバウンド通信だけを許可するんだ。https://github.com/noperator/cagent

8
bluelightning2k
約6時間前

良い記事だね。比較の中にV8 isolates (Cloudflare Workers) も含まれているのを期待してた。あのアプローチはいつも興味深いと思ってるんだ。

9
niobe
約6時間前

あらゆるアーキテクチャのカーネル全体を合わせれば4000万行あるけど、君のデスクトップで動いているカーネルはおそらくそのうち200万行にも満たないだろうね。