Claude Code、Gemini CLI、Codex、Kiro、OpenCodeのようなコーディングエージェントが開発者の働き方を変えています。しかし、これらのエージェントがより自律的になり(リポジトリの削除、ファイルの改変、秘密アクセスが可能になる)、開発者は現実的な問題に直面しています。エージェントに十分なアクセス権を与えつつ、ローカル環境を危険にさらすにはどうすればよいのか?
コーディングエージェントは生産性を向上させます。そしてリスク。
今日、コーディングエージェントを使った開発は、自分の毒を選ぶことを意味します:
- YOLOモード: エージェントに安全策なしですべてを完全にアクセスさせましょう。エージェントが重要なファイルを消去したりAPIキーを公開したりするまでは生産的です。
- DIY仮想マシン: 手動でスピンアップして仮想マシンをロックダウンしてください。セキュリティは得られますが、権限管理や環境の再構築を管理する時間が失われます。エージェントから求めていた生産性向上とは?行って。
私たちは開発者により良い選択肢が必要だと考えています。そこで、安全性と生産性の両方を提供できるソリューションを試しています。
私たちが目指しているのは、ローカルコーディングエージェントを安全に運用するより効果的な方法です。
私たちは、目的づくりで孤立したローカル環境でコーディングエージェントを動かせるアプローチに取り組んでいます。Docker Sandboxは、エージェントをローカルワークスペースをミラーリングするコンテナでラップし、使用するすべてのコーディングエージェントに対して厳格な境界を強制します。この目的は、エージェントが必要なアクセス権を与えつつ、ローカルシステムから隔離を保つことです。
本日の実験リリースは、Docker DesktopのDockerVM内でコンテナとしてエージェントを動作させています。これにより、ファイルシステムの隔離とプロセスの封じ込めによるセキュリティが提供されます。さらに強力な隔離と安全性を実現するために、microVMベースのアーキテクチャへと移行しています。
現在利用可能なもの(実験的プレビュー)。
これは実験的なプレビューです。コマンドが変わるかもしれませんが、現時点では本番のワークフローにこれに頼るべきではありません。でも、これから向かう先にワクワクしています。
今日手に入るものは以下の通りです:
- コンテナベースの隔離: エージェントは、バインドマウントされたワークスペースディレクトリ内でコードを実行し、パッケージをインストールし、ファイルを変更できます。
- ファイルシステムの隔離:プロセスの収容、リソース制限、ファイルシステムのスコープ設定を行い、ローカルシステムを保護します。
- 幅広いエージェントサポート:Claude CodeおよびGemini CLIのネイティブサポートがあり、今後さらに多くのコーディングエージェント(Kiro CLI、Codex、Cline、OpenCodeなど)もサポート予定です。
なぜこのアプローチを取っているのか。
LinuxのバブルラップやmacOSのシートベルトのようなOSレベルのサンドボックス手法には大きな制限があります:
- これらは、動的なエージェントの動作(ランタイムコード生成、インタラクティブ出力、オンザフライライブラリインストール)を破る厳格で事前宣言されたポリシーファイルに依存しています。実際には、権限のプロンプトでワークフローを絶えず中断することを意味します。
- すべてのプラットフォームで動作するわけではありません(BubblewrapはmacOSやWindowsでは動作しません)。
- 複数の企業セキュリティチームがシートベルトベースのソリューションを受け入れないと私たちに伝えています。
コンテナベースの分離は、コーディングエージェントが必要とする動的で反復的なワークフローのために設計されています。柔軟性はあっても脆くはありません。
私たちは使いやすさを第一に考えています。あらゆるAIの優れたソリューションを箱から提供しようとするのではなく、私たちは特にコーディングエージェントに注力しています。これにより、実際の開発者の問題を解決し、素晴らしい体験を提供できます。今後は他のユースケースもサポートしていきますが、現時点ではコーディングエージェントが最も大きな影響を与えられる場所です。
試す方法はこちらです。
本日の実験的なプレビューは、Claude CodeとGemini CLIでネイティブに動作します。私たちは開発者が使う他のエージェント向けに作っています。
Docker Desktop 4。50 以降のインストールで実行します: docker sandbox run <agent>
それです。エージェントは孤立した環境で動き、あなたは生産的でいられます。
次は何だ。
- 複数のエージェントを並行して運用するためのより良いサポートとUX
- 細かなネットワークアクセス制御
- マルチエージェントワークフロー向けの細かなトークンおよびシークレット管理
- 中央集権的なポリシー管理と監査可能性
- MicroVMベースのアイソレーションアーキテクチャ
- 追加のコーディングエージェントのサポート
試してみて、フィードバックを共有してください。
私たちは開発者と共にこれを構築しています。Docker Sandboxを試す際には、あなたのユースケースやワークフローで最も重要なものについてお聞きしたいと思います。
ご意見をお送りください: coding-sandboxes-feedback@docker.com
私たちは、サンドボックス化がすべてのコーディングエージェントがどこでも動く方法であるべきだと信じています。これはまだ初期段階であり、そこに到達するために皆さんの意見が必要です。私たちは妥協のない未来を目指しています。エージェントを自由に動かしつつ、重要なものすべてを守る未来を。