2月4日、Denoが「Introducing Deno Sandbox」と題した記事を公開した。この記事では、AIエージェントやLLM生成コードを安全に実行するために設計された、ハイパーバイザー隔離型の新しい実行環境「Deno Sandbox」について詳しく紹介されている。

以下に、その内容を紹介する。
AI時代の「信頼できないコード」を動かすための新基準
従来のサンドボックスは、主に「システムへの不正アクセスを防ぐ」ことに主眼が置かれていた。
しかし、LLMがコードを生成し、そのコードが外部のAPIを叩く現代のアプリケーションにおいては、新たなリスクが浮上している。それは、「人によるレビューを経ていないコードが、本物のAPIキーを握ってネットワーク通信を行う」という点だ。
これは従来の「信頼できないプラグインの実行」という問題よりも深刻である。人間による確認を経ないLLM生成コードが、実際の認証情報を使用して外部APIを呼び出すからだ。この課題に対し、単なる計算リソースのサンドボックス化だけでは不十分であり、ネットワークの送出(エグレス)制御と、機密情報の流出防止が不可欠となる。
Deno Sandboxは、この課題を解決するために「計算リソースの隔離」を超え、「ネットワーク」と「機密情報(シークレット)」を物理的に制御する、AIネイティブなインフラとして構築された。
Deno Sandboxの革新的な3つのポイント
- 「盗用不可能」なシークレット管理: 環境変数としてAPIキーを渡さない。特定のホストへの通信時のみ、インフラ側でキーを注入する。
- VM境界でのネットワーク制御: OSレベルではなく、仮想マシン(VM)の境界で通信先をホワイトリスト制御する。
- 1秒未満で起動するMicroVM: コンテナではなく、より隔離レベルの高いLinux MicroVMが瞬時に立ち上がる。
開発と実行:導入は極めてシンプル
Deno SandboxはJavaScriptおよびPythonのSDKから簡単に操作できる。
import { Sandbox } from "@deno/sandbox";
// サンドボックスの作成
await using sandbox = await Sandbox.create();
// シェルコマンドの実行
await sandbox.sh`ls -lh /`;
このサンドボックスは、単なる隔離環境にとどまらず、開発から本番へのシームレスな移行をサポートしている点が特徴だ。sandbox.deploy()を呼び出すだけで、サンドボックス内のコードをそのままDeno Deployのグローバルエッジへ昇華させることができる。
セキュリティの核心:シークレットの流出を構造的に防ぐ
Deno Sandboxが提供する最もユニークな機能が、APIキーの「プレースホルダー化」である。従来のように環境変数に生のキーを流し込む必要はない。
await using sandbox = await Sandbox.create({
secrets: {
OPENAI_API_KEY: {
hosts: ["api.openai.com"], // このホストへの通信時のみ有効化
value: process.env.OPENAI_API_KEY,
},
},
});
// これはプレースホルダーを表示するだけで、中身は空に近い
await sandbox.sh`echo $OPENAI_API_KEY`;
コードがプロンプトインジェクション等で乗っ取られ、キーを外部(evil.comなど)に送信しようとしても、送信先が承認済みホスト(api.openai.com)でない限り、インフラ側でキーの注入を拒否する。これにより、認証情報の流出を構造的に防いでいる。
また、ネットワークそのものもVM単位で制限が可能だ。
await using sandbox = await Sandbox.create({
allowNet: ["api.openai.com", "*.anthropic.com"],
});
承認されていないホストへの通信は、VMの外側にあるアウトバウンドプロキシによって完全に遮断される。
拡張性と永続化
エフェメラル(使い捨て)な運用が基本だが、複雑な要件に対応するための機能も備わっている。
- Volumes: データベースやキャッシュなどの読み書き可能なストレージを提供。
- Snapshots:
apt-get installなどで環境を構築した状態を保存し、次回からその状態で高速起動させる機能。
技術仕様とコスト
| 項目 | 内容 |
|---|---|
| 隔離方式 | ハイパーバイザー隔離 (Linux MicroVM) |
| メモリ | 768 MB - 4 GB |
| 起動時間 | 1秒未満 |
| 最大生存期間 | 30分(延長可能) |
価格はDeno Deployのプランに統合されており、CPU使用時間に応じた合理的な従量課金となっている。
- CPU時間: $0.05/時
- メモリ: $0.016/GB-時
- ボリューム: $0.20/GiB-月
Deno Sandboxは現在ベータ版として提供されており、AIエージェントの実行基盤、セキュアなプラグイン実行環境、あるいはエフェメラルなCI環境といった幅広い用途での活用が期待される。
ネット上の反応:期待と慎重な議論
発表を受け、Hacker NewsやReddit、著名な技術者であるSimon Willisonのブログなどでは活発な議論が交わされている。
ポジティブな反応:AI開発の「ミッシングリンク」が埋まった
多くの開発者が、Deno Sandboxを「AIエージェントを本番環境で動かすための決定打」と評価している。
「キー漏洩の恐怖」からの解放: プロンプトインジェクションによって、AIが勝手にAPIキーを外部に送信してしまうリスクを「インフラレベルで防ぐ」というアプローチが、セキュリティ担当者から高く評価されている。
「MicroVMなのに1秒未満」の衝撃: コンテナ(Docker)ではなく、より隔離レベルの高いVM(仮想マシン)が1秒未満で起動する点に驚きの声が上がっている。「AWS Lambdaよりコールドスタートが速いのでは?」といったパフォーマンスへの期待も大きい。
Python SDKの提供: Denoと言えばJavaScript/TypeScriptのイメージが強いが、AI開発の主流であるPythonから利用できるSDKが同時にリリースされたことが、データサイエンティストやAIエンジニアへの普及を後押ししている。
慎重・議論されている点
一方で、既存のツールとの比較や、運用面での懸念を指摘する声もある。
「Deno Deployへのロックイン」への警戒: sandbox.deploy() という極めて便利な機能がある反面、「便利すぎてDenoのプラットフォームから抜け出せなくなる」という、いわゆるベンダーロックインを懸念する意見も一部で見られる。
価格モデルの評価: 「CPU時間での課金」というモデルは合理的だが、複雑な処理を長時間させるAIエージェントの場合、最終的なコストがどうなるか、実例を待っているユーザーが多い。
リージョンの制限: 現時点で「アムステルダムとシカゴ」の2拠点であるため、アジア(日本など)のユーザーからは、国内リージョンの追加を望む声が上がっている。
技術ブロガーや著名なエンジニアからは、以下のような視点が提示されている。
「これはもはや、単なるJavaScriptランタイムの会社の話ではない。Denoは『AIのための安全なオペレーティングシステム』をクラウド上に構築しようとしている。」
「今までのサンドボックスは『箱に入れる』だけだったが、Deno Sandboxは『箱に鍵をかけ、誰と話すかまで監視する』。この多層防御こそが、エージェント型AIには不可欠だ。」
ネット上では総じて、「Denoがランタイム競争(Node vs Deno vs Bun)から一歩抜け出し、AIインフラという独自のポジションを確立した」という好意的な受け止め方が主流である。
詳細はIntroducing Deno Sandboxを参照していただきたい。