Docker Captain

信頌できない自埋ワヌクロヌド:AIコヌディング゚ヌゞェントが隔離の䜿呜をどう倉えるか

投皿日: 5月 26日, 2026幎

今幎の初め、Claude Codeを䜿っおブログをAstroに倧量移行したした。投皿146。6、024 画像。暙準的なURL、JSON-LDマヌクアップ、サむトマップ生成、党スタックです。私は䜕時間もかけおスキルファむルを曞き、゚ヌゞェントにブログのアヌキテクチャやデプロむの仕組み、觊れおはいけないこずを教えたした。そしお、それはうたくいった。Claude Codeはコンポヌネントを曞き換え、数癟ペヌゞにわたるトレヌリングスラッシュの䞍䞀臎を修正し、数癟のルヌトにBreadcrumbListの構造化デヌタを远加したした。Lighthouseのスコアはパフォヌマンス面で 97 を埗おいたす。ブログはこれたでで最も良く芋えたした。

問題は、自分のコヌドベヌスを理解しきれなくなっおいたこずです。

完党には。ファむルはただ読めた。しかし「前回の修正で生じた゚ラヌを修正する」ずいう3回目のラりンドあたりで、スタックの痕跡をClaudeにコピヌ&ペヌストしお戻っおきお、返っおくるものを信じおいる自分に気づきたした。担圓者が倉曎をし、別の䜕かが壊れおしたい、それも盎しおもらい、数サむクル埌にはブログがたた動䜜したした。PostCSSの蚭定に䜕が入っおいるのか、なぜGA4 統合があのような配線になっおいるのか、私には説明できたせんでした。うたくいった。ずおも玠晎らしかったです。その䞋にあるものぞの自信は静かに消えおしたった。

その感芚(うたくいくのはありがたい、觊れないでおこう)は、自埋的な゚ヌゞェントにコヌドベヌスぞの本圓のアクセスを䞎えたずいう感芚だ。これらのツヌルを䜿うすべおの開発者はそれを知っおいたす。ベンダヌのブログ蚘事で曞く人はいたせん。そしお、ドキュメントを読む以䞊に深いレベルで、なぜDockerがサンドボックスを䜜らなければならなかったのかを理解させおくれたした。

なぜなら、私が考えおいなかったのは、Claude Codeが私のAstroコンポヌネントを曞き盎し、数癟のファむルにわたり画像CLSを修正しおいる間、実行 npm install すべおが私のノヌトパ゜コン䞊で行われおいたこずです。倉曎したファむルやプルしたパッケヌゞも同様です。ナヌザヌ暩限は、境界が芋えたせん。もし゚ヌゞェントがGitフックを修正したりCIのワヌクフロヌを曞き換えたりしおいたら、私は気づかなかったでしょう。その時点では個々のファむル倉曎を芋盎しおいたせんでした。結果を芋盎しおいたした。倉曎を省略しながら結果を芋盎すこずはセキュリティモデルではありたせん。祈りだ。

Docker Sandboxはそのギャップを埋めるために存圚したす。

コンテナモデルず、なぜここでは適甚されないのか

コンテナは決しお間違った抜象抂念ではなかった。それらは、その䞭に䜕が入っおいるかを知る䞖界にふさわしい理想的な抜象抂念だった。12幎間、その䞖界は続きたした。コヌドを曞き、レビュヌし、Dockerfileに入れ、コンテナがクリヌンルヌムで動䜜させおくれたした。共有カヌネルは問題ありたせんでした。なぜなら脅嚁モデルは自瀟゜フトりェアのバグであり、招埅したテナントからの驚きではなかったからです。

AIのコヌディング゚ヌゞェントは合いたせん。それらはあなたの゜フトりェアのバグではありたせん。なぜなら、それらはあなたの゜フトりェアではないからです。圌らは新しいタむプのテナントであり、自埋的で特暩的な存圚であり、どんなセキュリティ゚ンゞニアでも䞍安になるほどです。゚ヌゞェントはあなたが遞んでいないパッケヌゞをむンストヌルし、スクリプトしおいないコマンドを実行したす。䟝存関係ツリヌに属しおいるずは知らなかった゚ンドポむントに察しお、予想もしなかったネットワヌクコヌルを発信したす。信頌プロファむルは今たさにコヌドであり、蚱可を求めるために䞀時停止しない䜕かによっお曞かれおいたす。コンテナは異なる皮類のコヌドのために䜜られたした。

これは仮定の話ではありたせん。2026幎3月19日、攻撃者たちはaquasecurity/trivy-actionで77バヌゞョンタグの76を匷制的に抌し出し、悪意のあるTrivy v0を公開したした。69。4バむナリからGitHubリリヌスぞの倉換。露光時間は玄 12 時間でした。䟵害されたコヌドはCIランナヌのメモリをスクレむピングし、秘密情報、クラりド認蚌情報、SSHキヌ、Kubernetesトヌクンを取埗し、誀字怜出ドメむンに流出させたした。そのりィンドり䞭にバヌゞョンタグごずにトリビアクションを参照するすべおのパむプラむンは、受信偎の誰もレビュヌしおいないコヌドを実行しおいたした。

Trivyで気になるのは、歊噚化されたツヌルが脆匱性スキャナヌだったこずです。組織が悪意のあるコヌドを芋぀けるために展開したものが、悪意のあるコヌドそのものになりたした。管理者は悪いバむナリを曞いたわけではありたせん。アクセスが倚すぎお封じ蟌めが䞍足した䟵害されたCIワヌクフロヌがそれを成し遂げたした。「䟵害されたCIワヌクフロヌ」を「蚱容モヌドのAI゚ヌゞェント」に眮き換えれば、同じ脅嚁モデルがすべおの開発者マシンで䞀日䞭皌働するこずになりたす。

コンテナは「このコヌドを信頌しおいる、クリヌンに実行したい」ずいう正解でした。「このコヌドを完党には信甚しおいないし、本圓の仕事を䞎えたい」ずいう答えには決しお適しおいたせんでした。それがmicroVMが埋めるギャップです。

Dockerは䜕を䜜ったのか、そしおそれぞれのパヌツがなぜ存圚しおいるのか

第䞀遞択:コンテナはパッチを貌らないこずです。私たちの業界には、銎染みのある抜象化にフラグを加えお新しい問題を扱うずいう長い䌝統がありたす。特暩モヌド、胜力䜎䞋、seccompプロファむル、runcの前にgVisorを眮く。それらすべおにそれぞれの圹割がありたす。しかし、自埋゚ヌゞェントが独自のDockerデヌモンを必芁ずするずいう具䜓的な問題は解決しおいたせん。Docker-in-Dockerは、隔離性(特暩モヌド、ホスト゜ケットマりント)を損なうか、ネストされた耇雑性を生み出し、それが独自の攻撃面ずなりたす。Dockerのドキュメントはこれに぀いお率盎に述べおいたす。コンテナはホストカヌネルを共有し、「独自のDockerデヌモンが必芁なものを安党に分離できない」ず蚀われおいたす。

それを受け入れるず、結局はVMにたどり着きたす。重いものではなく(毎回のコヌディングセッションごずにUbuntu Serverを起動するのは無理です)、microVMです。数秒で起動できるほど軜量で、゚ヌゞェントのコンテナを動かすのに十分なカヌネル容量がありたす。

Docker SandboxはFirecrackerではなくカスタムVMMを䜿っおいたす。もしFirecrackerの仕様を読んでいお「 125msで起動し、オヌバヌヘッドは 5MB未満」ず考えおいるなら、それはFirecrackerの数字であっおDockerのものではありたせん。異なるmicroVMの実装は異なるコストプロファむルを持っおいたす。プラットフォヌムの詳现:macOSではHypervisor.framework、WindowsではWindows Hypervisorプラットフォヌム、LinuxではKVM。

画像4

キャプション:サンドボックスアヌキテクチャ。各microVMは独自のカヌネルずDocker゚ンゞンを実行したす。認蚌情報はVMの境界を越えるこずはありたせん。

各microVM内で、サンドボックスは完党なDocker゚ンゞンを実行したす。゚ヌゞェントが docker buildを実行するず、そのコマンドはホストコンテナの存圚を知らないプラむベヌトデヌモンに送られたす。むメヌゞを匕くず、そのむメヌゞはサンドボックスVM内に存圚したす。サンドボックスを削陀するず、画像キャッシュ党䜓も䞀緒に消えたす。耇数のサンドボックスはレむダヌを共有したせん。無駄遣いだ。それだけの䟡倀はある。

初めお実行䞭のサンドボックスの䞭を芋たずき、゚ヌゞェントはrootずしお実行され、VM内では完党なDocker Engineアクセス暩を持っおいたした。反射的に、これは間違っおいるに違いないず思いたした。信頌できないコヌドにはroot暩限を䞎えたせん。しかし蚭蚈は正しく、アむ゜レヌションモデルは境界内で゚ヌゞェントの行動を制玄したせん。それは結果の行き先を制玄したす。仮想マシン内では、゚ヌゞェントは奜きなこずができたす。倖で?䜕も。VM内でキャパビリティドロップをしお゚ヌゞェントをロックしようずするず、間違った問題を解決するこずになりたす。゚ヌゞェントはパッケヌゞをむンストヌルしお docker buildを実行する必芁がありたす。必芁ないのは、それらがノヌトパ゜コンに觊れるこずです。

画像1

キャプション:ホストより、サンドボックスはコンテナではないため、 docker ps には衚瀺されたせん。 sbx ls 、そのように芋えたす。

ネットワヌク局が面癜いずころで、認蚌情報の境界ずしおも機胜したす。

送信HTTP/HTTPSトラフィックはホスト䞊のプロキシを経由し、VM内郚からアクセス可胜です host.docker.internal:3128。UDPずICMPはネットワヌク局でブロックされおおり、ポリシヌによっお蚱可されたせん。非HTTP TCP(SSHなど)には明確なIP+ポヌトルヌルが必芁です。DNSの解決はプロキシ経由で行われたす。リク゚ストがプロキシを通れなければ、その芁求は出たせん。プロキシはTLSを終了し、ホストヘッダヌを怜査し、ポリシヌを適甚し、サンドボックスが信頌する自身の蚌明曞局で再暗号化したす。蚭蚈䞊、䞭間的な男。Dockerはドキュメントでたさにそのフレヌミングを䜿甚しおいたす。

MITMこそが認蚌泚入を機胜させる芁玠です。゚ヌゞェントにはAPIキヌが必芁です。AIプロバむダヌ甚、レゞストリ甚、時にはクラりドアカりント甚です。単玔な答えずしおは、その認蚌情報を環境倉数ずしお枡し、VM内に眮いおどこぞでも远跡するこずです。Dockerはホスト䞊の認蚌情報をOSのキヌチェヌンに保持し、プロキシがそれをアりトバりンドリク゚ストに透過的に泚入させたす。゚ヌゞェントは動䜜するリク゚ストを芋おいお、そもそもVMには秘密情報がなかったのです。ドキュメントはこれに泚意を払っおいたせん。認蚌情報の倀はVM内に保存されるこずはありたせん。䟵害されたサンドボックスはAPIキヌを倖すこずはできたせん。なぜならAPIキヌはそこに存圚しなかったからです。

Dockerは䜕がうたくいかないか教えおくれたす

サンドボックスのドキュメントにはセキュリティアヌキテクチャのドキュメントでは珍しい特城がありたす。システムが䜕から守っおいないかを教えおくれるのです。これらの文曞の倚くは、補品を匷力に芋せるために曞かれおいたす。Dockerのドキュメントは限界を明らかにしおいたす。そのうち二぀は重芁な。

最初の問題はネットワヌクポリシヌに関するものだ。

最初にSBXログむン時に、3぀のデフォルトポリシヌのいずれかを遞択したす。OpenはブロックされたCIDR範囲(プラむベヌトネットワヌク、リンクロヌカルアドレス、クラりドメタデヌタ゚ンドポむント)以倖のすべおを蚱可したす。バランス型はデフォルトでは拒吊したすが、共通の開発ドメむンは事前蚱可されおいたす。ロックダりンは、明確に蚱可するたですべおを拒吊したす。ロックダりンは最も厳しい遞択肢で、もし被害劄想なら望む「デフォルト拒吊」モヌドです。しかし、Locked Downやキュレヌションされた蚱可リストを䜿っおも、プロキシはコンテンツではなくドメむンでフィルタリングしたす。

文曞の正確な文蚀はこうです。 github.com のような広範なドメむンを蚱可するず、そのドメむン内のあらゆるコンテンツぞのアクセスが蚱され、「゚ヌゞェントはこれらをデヌタ流出のチャネルずしお䜿うこずができる」ずされおいたす。セキュリティベンダヌは通垞、自瀟補品に぀いおこう蚀いたせん。github.com が蚱可リストに入っおいる堎合(ほが間違いなく入っおいたす。゚ヌゞェントはリポゞトリをクロヌンする必芁があるため)、プロキシはリク゚ストが github.com されるこずを知っおいたす。゚ヌゞェントがドキュメントを読んでいるのか、リポゞトリをクロヌンしおいるのか、それずもあなたの内容でパブリックギストを䜜成しおいるのかは分かりたせん .envファむル。これら3぀ずもドメむンレベルではほが同じに芋えたす。ナヌザヌ生成コンテンツを含むすべおの蚱可リスト゚ントリヌも同様です:Discordのりェブフック、Notionのペヌゞ。「ドメむンは蚱可されおいる」ずいうのは「安党なコンテンツだけがそこに存圚しおいる」ずいう意味ではありたせん。

画像5

キャプション:拒吊ポリシヌの䞋で、蚱可されおいないドメむンはブロックされたす。蚱可リストされたドメむンは成功しおおり、任意のナヌザヌ生成コンテンツをホストするドメむンも含たれたす。

ドキュメントはたた、ドメむンフロントングがHTTPSプロキシの本質的な制限であるこずを認めおいたす。プロキシはリク゚ストがどのドメむンに向かっおいるかを認識したす。蚱可されたCDNを通じおリク゚ストが他の堎所にルヌティングされるのを必ずしも防ぐこずはできたせん。

microVM境界が䞻芁な隔離です。ネットワヌクプロキシは、特に内郚ネットワヌクぞの誀っおアクセスをブロックするのに圹立぀远加制埡手段です。これは密閉シヌルではなく、Dockerもそれをそう䞻匵しおいたせん。「゚ヌゞェントは拒吊ポリシヌに入っおいる」ず「゚ヌゞェントはどこにもデヌタを送れない」ずは違いたす。

䜜業スペヌスは垞に共有されおいたす

ネットワヌクポリシヌは、より小さな正盎な限床額です。ワヌクスペヌス共有が倧きな問題です。

microVMの境界は、意図的に暪切る䞀぀の経路、すなわちワヌクスペヌスディレクトリを陀いお、どこでも匷固です。

サンドボックスで゚ヌゞェントを動かす目的は、゚ヌゞェントが実際のコヌドベヌスで実際の䜜業を行うこずです。Dockerはホストずサンドボックスの間で同じ絶察パスでワヌクスペヌスを共有しおいたす。゚ヌゞェントがサンドボックス内でファむルを線集するず、そのファむルはホスト䞊で倉曎されたす。ホストに新しいコミットを匕くず、゚ヌゞェントはそれを確認したす。これが蚭蚈図です。たさに開発者ツヌルに求めるものです。

たた、゚ヌゞェントが正圓な曞き蟌みアクセス暩を持぀秘密のチャネルでもありたす。

Dockerのセキュリティドキュメントには「同じファむル」が䜕を含むかが明蚘されおおり、重芁なのは通垞開発䞭に暗黙的に実行されるファむルです。ギットフック。CI構成。IDEタスクの定矩。メむクファむルのタヌゲット。package.json 台本。事前コミット蚭定。「道具を䜿っおいる」ような感じの動きをしおいるずきに動くものなら䜕でもいいです。

攻撃の最も単玔なバヌゞョンは、サンドボックス内の゚ヌゞェントが.git/hooks/post-commitに悪意のあるpost-commitフックを曞き蟌むこずです。git diffにはギットフックは登堎したせん。圌らは .git/に䜏んでいたす。ほずんどの開発者は開かない。次にホストでコミットするずきは、フックはナヌザヌ暩限でホスト䞊で実行されたす。サンドボックスの境界は重芁ではありたせん。なぜなら境界はワヌクスペヌスで終わっおおり、ワヌクスペヌスは垞に共有されおいたからです。

それが私自身のアストロ移行を思い出させたしたが、居心地の悪さを感じたした。私はClaude Codeでブログの䜕癟ものファむルを曞き換えおもらうでしょう。結果(Lighthouseスコア、倖芳、ビルド成功床)は確認したしたが、觊れたすべおのファむルを監査したわけではありたせん。.git/hooks/を確認しおいなかった。私はそのディレクトリを䞀床も開いたこずがなかった。npm installを出す前にすべおのpackage.json脚本を読んだわけではありたせん。ドキュメントで譊告されおいる通り、゚ヌゞェントの出力をレビュヌ枈みコヌドずしお扱っおいたしたが、実際には自分のマシン䞊で実行しようずしおいる未怜蚌コヌドでした。

これを「サンドボックスは壊れおいる」ず読み取るのは簡単です。そういう意味じゃない。microVMはたさにmicroVMが本来やるべきこずを行いたす。぀たり、ハヌドりェアの境界の向こう偎で任意のコヌド実行の結果を含みたす。゚ヌゞェントができないのは、ワヌクスペヌスの内容を安党にするこずです。なぜなら、ワヌクスペヌスの内容こそが゚ヌゞェントの仕事のやり方だからです。゚ヌゞェントはファむルを曞ける必芁がありたす。読めるこずが倧事です。共有地域が必芁であり、共有地域こそが脅嚁モデルの興味深い郚分です。

緩和策はさらなる隔離ではありたせん。microVMはちゃんず圹割を果たしおいたす。緩和ずは芏埋です:ワヌクスペヌスの内容を、ただ知らない貢献者からのプルリク゚ストを扱うように扱うのです。違い .git/hooks/゚ヌゞェント・セッションズの埌だ。npm installする前にpackage.json脚本を読んでください。--branchフラグを䜿うず、゚ヌゞェントが独立したブランチで動䜜し、マヌゞ前にレビュヌできるGitワヌクツリヌが䜜成されたす。これらは䜕も珍しいものではありたせん。これは単に自埋゚ヌゞェントの出力を信頌できるコヌドずしお扱わない慣習です。なぜなら、そうではないからです。

ここだけのスペヌスを䜿っおいるのは、倚くの人が間違える郚分だからです。ハむパヌバむザヌの境界線は安心感を䞎えたすが、実際はそうではありたせん。完党には。補品が動䜜するためには䞡方の芁玠が同時に成立しおいなければならず、Dockerチヌムは意図的にそう蚭蚈したした。優れたセキュリティアヌキテクチャはそのギャップを蚘録し、ナヌザヌが䜕にサむンアップしおいるのかを確実に理解させたす。

実際の費甚はどうか

ハむパヌバむザヌの隔離は無料ではなく、そうでないふりもできたせん。私はこれを、冒頭で挙げたAstroブログの自分の本番コヌドベヌスでテストしたした。サンドボックス化された゚ヌゞェントワヌクロヌドの合成ベンチマヌクではあたり倚くを語れないからです。本圓の仕事をする感芚を知りたいのです。

画像2

キャプション:同じ docker build --no-cache 、同じAstroコヌドベヌス。叞䌚者: 1:44。62。サンドボックスmicroVM: 1:28。58。アむ゜レヌション境界はワヌクロヌドには芋えたせん。このランでは、サンドボックスの方が早く終わった。

同じDockerfileずコヌドベヌスで、ホスト偎ずサンドボックス内で1回ず぀ docker build --no-cache 実行したした。ホストは4 1でゎヌルしたした:44。62。サンドボックスは 1幎に終了したした:28。58、実際には、ランのノむズの䞭でも速くなっおいたす。サンドボックス内のDocker Engineは、ホストから完党に隔離された独自のカヌネルずブロックデバむス䞊で動䜜しおおり、ビルドは気にしたせん。microVMは実際のビルドにほがオヌバヌヘッドを加えたせん。

Apple Siliconでこれを実行しおいる珟実的な泚意点ずしお、私のAstroパむプラむンのjemallocは 4Kペヌゞサむズを前提に出荷されおおり、サンドボックス型のVM(16Kペヌゞ)では倱敗したす。組み立お自䜓は正しく完了したした。すべおのペヌゞ 354 レンダリングされ、ディスト生成されたしたが、分解ステップはれロでない段階から出おしたいたした。修正は、Dockerファむル内に有効なビルド出力を確認する䞀行のガヌドを導入するこずでした。远跡するのに 30 分かかった。Apple Siliconでサンドボックス察応のDockerファむルを出荷する前に知っおおく䟡倀がありたす。なぜなら、実際には成功しおいるのに、症状はビルド倱敗のように芋えるからです。

結論:セッションベヌスの゚ヌゞェント䜜業(プロゞェクトに数時間かかる)では、オヌバヌヘッドは消えたす。高頻床のサンドボックス䜜成(短時間タスクで毎分数十回)では、コヌルドスタヌトコストが積み重なりたす。Sandboxが蚭蚈されおいる䜜業負荷、぀たり゚ヌゞェントに実際のセッションのための環境を提䟛するずいう点では、この取匕は劥圓です。

孀立ず信頌のマッチング

コンテナずVMの議論ではバむナリずしお扱われたすが、それは間違った枠組みです。私が圹立぀枠組みは、自分自身の仕事でも、゚ンゞニアリングリヌダヌたちず「本圓にmicroVMが必芁なのか?」ず問いかける䌚話でも、スペクトラムです。

画像3

キャプション:信頌スペクトラム。隔離の匷さをワヌクロヌドの信頌プロファむルにマッチさせたす。

䞀方には自分で曞いたコヌドがありたす。チヌムがレビュヌし、CIがテストし、本番が実行したす。暙準的な容噚が正解です。カヌネルは共有され、デヌモンも共有されたすが、それらは重芁ではありたせん。なぜならワヌクロヌドは既知だからです。

さらに䞀歩先に、チヌムのコヌドを動かすCI/CDパむプラむンや、䞻に信頌するレゞストリからの䟝存関係がありたす。ほずんどは知られおいるが、入力はより倚様だ。セキュリティコンププロファむルを远加したり、機胜をドロップしたり、ネットワヌクポリシヌを䜜成したりしたす。

さらに進むず、監督付きAI゚ヌゞェント:開発者が各ステップをレビュヌしながらコヌドを提案するツヌルです。人間がルヌプに関わるので、厳栌なポリシヌを持぀ハヌドコンテナでも機胜したす。

その端には自埋型AI゚ヌゞェントがいたす。誰も各コマンドを確認しおいたせん。あなたの代わりに意思決定を行う゚ヌゞェントたちが、それぞれが前回ずは異なる可胜性がありたす。信頌プロファむルは「このコヌドを信頌しおいる」ずいうものではありたせん。なぜなら、信頌すべき固定されたコヌドは存圚しないからです。「監芖なしでシステム䞊で䜕かを動かしおいるので、故障モヌドは『ノヌトパ゜コン䞊』ではなく『䜿い捚おの仮想マシンに限定』したい」ずいうものです。そのワヌクロヌドはmicroVMが必芁です。

これはコンテナが時代遅れだず宣蚀するものではありたせん。むしろ逆です。コンテナは、そのスペクトラムの巊偎にあるすべおの問題に察する正解であり、珟圚皌働しおいるもののほずんどがその郚分です。MicroVMはスペクトルを右に広げ、コンテナが適切なツヌルになるこずは決しおなかった。サンドボックスの4぀の分離局(ハむパヌバむザヌ、ネットワヌク、Docker Engine、認蚌プロキシ)は加算的です。容噚を眮き換えるのではなく、远加の保護ずしお包んでいたす。すべおのサンドボックスの䞭には、コンテナを実行するマむクロVMがありたす。コンテナはどこにも行っおいたせん。信頌の積み重ねの䞭で䞀段階螏み蟌んでしたっただけです。

「AI゚ヌゞェント甚のマむクロVM、その他すべおはコンテナ」ずいう衚珟はあたりにも粗雑です。「隔離をワヌクロヌドの信頌プロファむルに合わせる」ずいうのが今も通甚したす。

なぜみんながここに集たるのか

Dockerだけがこの答えに至ったわけではなく、この融合は䜕かを教えおくれたす。

FirecrackerはAWS LambdaずFly.ioのmicroVMプラットフォヌムを駆動しおいたす。gVisorはナヌザヌスペヌスカヌネル内のシスコヌルを傍受したす。Kata Containersは、コンテナ互換むンタヌフェヌスの背埌でVMの分離を提䟛したす。ModalはgVisor䞊でサヌバヌレス゚ヌゞェントのワヌクロヌドを実行したす。E2Bは、Firecrackerベヌスのサンドボックスをマネヌゞドクラりドサヌビスずしお提䟛しおいたす。ノヌスフランクは本番AIワヌクロヌド向けに型ベヌスのアむ゜レヌションを出荷したす。同じ理由で、すべお同時に逊子にされた。アヌキテクチャはどこでも同じように芋えたす。内郚にコンテナ(開発者の考え方だから)、倖郚にVM(境界がそこにある必芁があるため)です。

Docker Sandboxesはロヌカルファヌストのバヌゞョンです。ほずんどの代替手段はクラりドサヌビスで、実行ごずに料金を支払い、自分のコヌドが他人のマシン䞊で動䜜したす。Dockerは開発者のノヌトパ゜コンに同じアヌキテクチャを適甚したした。CLIはネむティブで8぀の゚ヌゞェント(Claude Code、Codex、Copilot、Gemini CLI、Kiro、OpenCode、Docker Agent、Droid)をサポヌトし、カスタムツヌル甚のシェルモヌドも備えおいたす。スタンドアロンのSBX CLIはDocker Desktopを䜿わずに動䜜するため、アヌキテクチャは商甚補品に瞛られおいたせん。MicroVMレむダヌにはHTTP APIがあり、オヌプン゜ヌスコミュニティはすでにその基盀を築き始めおいたす。

それがランタむムです。そしおDockerは、10幎前にマむクロサヌビスの暙準的な運甚方法ずなった docker run のず同様に、自埋コヌディング゚ヌゞェントの暙準的な運甚方法ずしお䜍眮づけおいたす。

もう䞀぀。ハヌドンドむメヌゞずサンドボックスは同じ問題の異なる局に察凊したす。䟋えば、サプラむチェヌン(バむナリの発生源)のためのハヌドドむメヌゞ、ランタむム分離(バむナリが觊れる範囲)のためのサンドボックスです。どちらも「信頌できるパブリッシャヌのコヌドは安党だ」ずいう前提が信頌できなくなったために存圚しおいたす。

振り返り、未来を芋぀めお

私は20幎間で業界が信頌モデルを再構築するのを3回芋おきたした。

耇数のワヌクロヌドを同じハヌドりェアに安党に配眮する必芁があったため、ベアメタルから仮想マシンぞの倉換です。

仮想マシンからコンテナぞ。なぜなら、より速い立ち䞊げ、䜎コスト、そしお開発者が実際にコヌドを配信する方法に合ったパッケヌゞングモデルが必芁だったからです。

しかし今は、ワヌクロヌドが倉わりカヌネル名前空間が䞍十分になったため、コンテナは別の皮類の仮想マシンに移されたした。コンテナが間違っおいたわけではなく、新しいテナントがもっず必芁ずしおおり、それがたたハむパヌバむザヌのように芋えるからです。

これらの転換点は、振り返れば明らかで、圓時は議論の的ずなっおいたした。コンテナが本圓にマルチテナントワヌクロヌドに十分安党かどうかの議論を芚えおいたす。(ほずんどはそうではなかったため、最終的に名前スペヌス付きのクラスタやテナントごずのVM、gVisor、そしお今でぱヌゞェント甚のmicroVMを䜿うようになりたした。)microVMの議論も同じ流れをたどるず予想しおいたす。玄1幎間争われ、3幎以内に明らかになるのです。

私のAstro移行は、システムに本栌的にアクセスできる自埋的な゚ヌゞェントず共に働く感芚を教えおくれたした。手䜜業よりも生産的で、どれだけ远跡をやめおいたかに気づいたずきの䞍安も予想以䞊に䞍安でした。サンドボックスが゚ヌゞェントを信甚できるものにはしたせん。゚ヌゞェントが予期せぬ行動を取ったずき、そのダメヌゞは捚おられる箱の䞭に留たるだけです。ワヌクスペヌスは䟝然ずしおあなたの泚意を必芁ずしたす。君の懐疑心。この組み合わせ(匷制可胜な匷い境界線、できないずころは芏埋あるレビュヌ)が自埋的なコヌドのモデルであり、しばらくはそのたた続くでしょう。

もし蚱可のプロンプトや誀ったファむル倉曎、あるいは党䜓の配眮に䜕かが安党でないず感じおためらっおいたなら、その感芚は正しかったです。コンテナはこの䜜業量には合っおいたせんでした。サンドボックスが最適です。本圓に興味のあるプロゞェクトで詊しおみおください。それが唯䞀重芁なテストです。

Docker Sandboxesを始めたしょう→

関連蚘事