
2026/11/07 4:06
ReplitがマイクロVMでサンドボックスエンジンを再構築した
RSS: https://news.ycombinator.com/rss
要約▶
日本語翻訳:
2025 年初頭、Replit はセキュリティ、速度、AWS/Google Cloud/Azure 間でのポータビリティの向上を目的として、サンドボックスエンジンの大規模な書き換えを開始しました。このアーキテクチャの変化は、ステートレスな Docker コンテナを置き換え、KVM インターフェースと Cloud Hypervisor を使用したカスタム Linux カーネルで動作する隔離された microVM に移行します。不要なハードウェアドライバを除外した最小限の「tinyconfig」カーネルを利用することで、Replit はローカル権限昇格などの脆弱性に対する攻撃対象領域を大幅に削減しました。
新しいシステムは eBPF と Linux Security Modules (LSM) を活用した高度な監視機能を組み込んでおり、セキュリティパッチのホットリロードが可能で、所要時間は 15 分以内です。新しいスーパーバイザーが gRPC を介した River プロトコルを使用して microVM のオーケストレーションを制御し、ネットワーク隔離は VRF、ホスト側プロキシ、Virtual-NIC レートリミッターによって強制されます。追加のハードニングには、API キーをワークロードから隠すブローカーによる認証情報管理と、悪意のある依存関係を自律的にブロックするレジストリファイアウォールによるサプライチェーン保護が含まれます。このオーバーホールにより、Replit は顧客からの介入を必要とせずに数千件の潜在的 CVE を能動的に対処しながら、自律エージェントを安全にホストし、数億のプロジェクトを移行できるようになりました。
本文
Replit のサンドボックス技術進化:マイクロVM へ移行し、自律型 AI エージェントのための新たな基盤を構築する
現在、業界の中心にサンドボックス技術があります。数週間に一度、新たなスタートアップが発表される勢いです。Replit では約 10 年間独自のサンドボックスインフラストラクチャを運用してきましたが、現在は AI アージェント(エージェント)がこの技術を活用することで、コーディングなしでアプリケーションを構築できるようになりました。
システムの全面刷新とクラウド統合
数カ月前に、以下の目的のためにサンドボックスエンジンを完全に書き換え完了しました。
- セキュリティ機能の向上
- 能力の強化
- クラウド間のポータビリティ改善
「Bring Your Own Cloud」の実現
Replit を顧客の環境(AWS、Google Cloud、Azure など)に統合可能にしました。インフラ移行はユーザーが気づかないうちに無事に完了し、何億ものプロジェクトがデータ損失なしに円滑に移行しています。
本稿では、隔離境界を変えつつ高速性を維持する方法と、大規模な稼働達成の経緯を詳述します。
※パート 2 で Kubernetes 上のマイクロ VM オーケストレーションについて詳しく解説します。
なぜこの取り組みが重要なのか
セキュリティ、アライメント(整合性)、コンテインメントは AI 業界の最優先課題です。OpenAI や Hugging Face のインシデントなどから、従来のセキュリティ境界だけでは不十分なことが明らかになりました。NIST や連邦下院もこれらを最重要課題と位置づけています。
業界の潮流
- DeepSeek DSec:弾力的なサンドボックス型インフラストラクチャへの必要性を再確認。
- オープンソース動向:Kubernetes Agent Sandbox、Google AX、Agent Substrate などによる検証が行われている。
- 資金調達:2025 年初頭に Daytona、E2B、Runloop、Blaxel などを合わせ、エージェントインフラスタートアップへの投資総額は5,930 万ドルに達した。
Replit の進化史
- 創業以来:顧客が信頼する「Defense-in-Depth(多層防御)」アプローチの基盤となっていた。
- 2025 年 11 月:より自律的なエージェント向け、永続的作業スペース対応、並列処理向上のために再構築開始。
- 2026 年 2 月末:社内運用完了。その後数ヶ月かけて強化と段階的導入を行った。
マイクロVM への移行
既存の Docker ベースランタイムからゼロベースでマイクロ VM へ移行することで、リスクを負わずに迅速なプロトタイプ化と開発が可能になりました。
マイクロVM とは?
- 軽量型仮想マシン:独立した Linux カーネルと最小限の仮想デバイスセットを備える。
- 完全隔離:KVM を用いて、ホストシステムおよび他の顧客ワークロードから分離する。
隔離の仕組み
- コンテナ:サンドボックス内部のプロセス間での分離を保証。
- ハードウェア補助型仮想化:サンドボックス同士の物理的隔離を実現。
技術選定とアーキテクチャ
VMM(仮想マシンモニター)として、Firecracker と共有する
rust-vmm コンポーネントを持つ Cloud Hypervisor を採用しました。
- 主な機能:virtiofs、透明な巨大ページング、デバイスのホットプラグ、ライブマイグレーション。
- ネスト型仮想化:開発環境を含む VM の起動を可能にする。
- ホットプラグとメモリースナップショット:顧客ディスクをオンデマンドで「ウォームプールの」VM に取り付けることが可能。
- ポータビリティ向上:サポートされる物理サーバーおよび仮想化環境間でのスナップショット移動に対応するパッチ適用済み。
コミュニケーションと管理
- 通信チャネル:
(IP ネットワーク非依存)を介し、gRPC でホストとゲスト間に対話。vsock - 単一スーパーバイザ:マイクロVM の起動、ネットワーク設定、コンテナ起動、
プロトコルによるクライアント対話を一元管理。river
汎用的な Linux VM としての活用
エージェントがインシデント調査、コードレビュー、ビジネスデータ分析などを自律的に実行する環境として利用しています。
- 2026 年 1 月下旬:マイクロVM とリモートファイルシステムを組み合わせ、アクセスポリシーや ZeroTrust ネットワークを実装。
- 運用フロー:目標設定は人間が行い、隔離された環境はエージェントが作業を行う場所を提供。
セキュリティと隔離の強化
カーネル CVE(脆弱性)への対処
過去 1 年間に多数報告された Linux カーネル CVE(Copy-Fail, Dirty Clone, Bad Epoll など)に対して、マイクロVM 移行により根本的な解決を図りました。
| システム構成 | リスク |
|---|---|
| 従来の Docker ランタイム | ホストカーネルを共有するため、1 つの CVE がコンテナ脱出およびホスト侵害を招く可能性あり。 |
| マイクロVM 採用後 | ゲストカーネルが侵害されてもホストカーネルは安全。仮想化境界を越える必要あり。 |
最小限の特権設計
サンドボックス内では、最小限の
runc コンテナを実行し、サポートサービス(PostgreSQL, Git バックアップ等)のみを扱います。
- 隔離モデル:追加オーバーヘッドが見合わず、コンテナは依然として名前空間とリソース制限で分離。
- 特権制限:
- VMM は非特権アイデンティティ下で動作し、Linux カパビリティを持たない。
- セットアップ(seccomp, デバイスアクセスなど)をロール別に設定。ユーザープロセスはモニタリングエージェントの権限を受け継がない。
- Docker が必要とすることも追加特権を受け取りつつも、物理ホストには到達しない。
小さなカーネル surface area(攻撃対象領域)
ゲストカーネルは標準配布版ではなく、**「tinyconfig」**で起動します。
- 不要なハードウェア排除:Bluetooth, 無線,USB, ディスプレイドライバー等を外す。コーディングエージェントにはニンテンドースイッチコントローラーは必要ない。
- ドライバー管理:必要なドライバーはコンパイル済みであり、ゲスト初期化時にモジュール読み込みを無効化。
CVE 回避実績(2026 年 6 月〜11 月)
Linux-CNA CVE 6,211件中、以下の対策により 5,969 件(96.1%)を回避。
- アップストリーム修正の適用: 4,375 件 (70.4%)
- 設定による除外: 676 件 (10.9%)
事例:CVE-2026-98432(Linux TCP 欠陥)
- Anthropic が遠隔 root アクセスの可能性を指摘。
- Replit は CVE 公開前の10 月 12 日に修正済みカーネルを導入(エクスプロイト言及より 2 週間以上早い対応)。
ランタイム監視と自動防御
eBPF と Linux セキュリティモジュール (LSM) を組み合わせて詳細なランタイム可視性とブロック機能を実装。
- 自律型セキュリティ:既知の検知パターンに基づき、有害行為を即座にブロック・改善する「常時起動型セキュリティカメラ」。
- 自己修復:モニターはクラッシュや改ざんを検知し、新バージョンへの移行時に自動再起動。
- 継続的デリバリー: 変更マージ後15 分以内にすべての本番環境でセキュリティコンポーネントをホットリロード可能。
サプライチェーン攻撃への対応
eMudhra CA キー侵害事件の際に示された課題に対し、サンドボックスハネスは自動的に関与した CA バンドルをすべての稼働機に注入し、顧客側の手動更新なしで環境を更新しました。
ネットワーク隔離と認証保護
独自ネットワーク空間
すべてのサンドボックスが独自のネットワーク名前空間とルーティングテーブル(VRF)を持ちます。
- IP アドレス重複許容:同一プライベート IP を使用可能だが、分離により衝突しない。
- ベースラインファイアウォール:クラウドメタデータへのアクセス制限など、明確な例外のみ許可。
強制エグレス処理と帯域制御
エグレスポリシーはゲスト外部(ホスト側プロキシ)で処理され、ゲスト内部からは無効化できません。
- TLS ハンドシェイク確認:暗号化せずにホスト名を検証し、アプリケーションペイロードを解読しない。
- DNS フィルタリングと拒否:許可されていない経路からのトラフィックを遮断。
バンド幅制限の実装
- 仮想 NIC レートリミッター:ゲスト外部で構成され、有界なパルスは許容しつつ持続トラフィックを制限。
- 設定の独立性:ゲストネットワーク設定変更でも VMM リミッターは除去されない。
認証情報とサプライチェーンの完全保護
- マネージドコネクタ:認証情報ブローカーを用い、ワークロードが API キーを受け取らずともサービス利用を可能に。機密レスポンスヘッダーやトレーラーをstripped(除去)。
- パッケージマネージャー保護:npm/pip のリクエストはレジストリーファイアウォール経由でルートリングされ、既知の悪意ある依存関係は即座にブロック。
- エージェントの自律性:コーディングエージェントはブロックされた依存関係を認識し、置換または削除することでサプライチェーンセキュリティを向上させる。
無制限かつ高速なストレージ運用
リモートブロックストレージ
ファイルシステムはオンデマンドでデータを取得するリモートサービス上にあるため、大規模作業スペースの全体ダウンロードが不要です。
技術的実装
- vhost-user virtio-blk:Cloud Hypervisor と連携し、ゲストを通常ブロックデバイスとして振る舞わせる。
- ホストカーネルからの解放:過去のネットワークブロックデバイス管理によるデッドロックやノード故障の問題を解消。
- AI 記述コンポーネント:クラウドコンピューティング 4.0 時代における、初の完全に AI で記述されたコンポーネントの一つ(5〜7 回のイテレーションを経て実装)。
コスト効率と可用性
- コピーオンライトストレージ:フォークが安価になり、書き込みで分岐。
- 優雅な再接続:未処理 I/O の drain と永続化により、ディスクを再起動せずにゲストに再接続可能。
サンドボックスの高速起動維持
起動プロセスには以下のステップが必要です。
- Linux カーネルブート
- イメージ取得
- コンテナ起動
- ゲストエージェント立ち上げ
最適化技術
- 最小限のゲストカーネル:迅速な起動を実現。
- ウォームプールの活用:残りの作業(マウント等)を事前に完了できる。
- ハンドオフ時間:ディスクマウント状態からのハンドオフは概ね 500ms。これは空の VM ブートより遥かに高速。
大規模オーケストレーションへの課題
数十万のサンドボックスを同時に起動するには、ウォームプールだけでは不十分でした。パート 2 で Kubernetes を用いたオーケストレーション手法について詳しく解説します。
まとめ
本システムは数カ月の間、本番環境で健康に稼働しています。
- 何億ものプロジェクトの移行が中断なしに行われた。
- より高速なブート時間を獲得した。
- 強固な隔離と進化を遂げたセキュリティプリミティブを実装した。
引き続きセキュリティへの投資を行い、Kubernetes オーケストレーションおよび自動セキュリティ調査の詳細を共有してまいります。その間、Replit を使って何かを作成してみてください。
※本稿の執筆にあたっては、Connor Brewster, Jason Dellaluce, Adnan Abdulhussein, Luis Hector Chavez 氏および Replit Compute Platform チームの皆様に多大なるご貢献がありました。