Replit 把沙箱引擎从共享内核容器改成 microVM:每个沙箱独立内核,称迁移数亿个项目无数据丢失,取用沙箱约 500 毫秒

Replit 11 月 4 日在工程博客发布《Inside Replit's New Sandbox Engine, Part 1》,披露过去几个月完成的沙箱引擎重写:原先在 Google Compute Engine 虚拟机上用 Docker 容器运行代码、各容器共享宿主内核,现在每个沙箱是基于 KVM 和 Cloud Hypervisor 的 microVM,拥有独立的精简内核,容器只在沙箱内部隔离进程。Replit 称已把数亿个项目迁移到新引擎且无数据丢失;含挂载用户磁盘在内,取用一个沙箱约 500 毫秒。它统计了 2026 年 6 月 1 日至 11 月 4 日发布的 6,211 个 Linux 内核 CVE,称通过及时合入上游修复或在内核配置中排除相关代码避开了其中 5,969 个(96.1%)。

为什么换掉共享内核

在线编程平台 Replit 11 月 4 日在工程博客发布《Inside Replit's New Sandbox Engine, Part 1》,作者为其计算平台团队。Replit 过去近十年在 Google Compute Engine 虚拟机上用 Docker 容器跑用户代码,容器共享宿主内核,一个可利用的内核漏洞就可能让攻击者逃逸到同机其他负载。重写从 2025 年 11 月开始,今年 2 月内部启用,此后几个月完成全量切换。新引擎里每个沙箱是一台 microVM:用 KVM 和 Cloud Hypervisor(与 Firecracker 共用 rust-vmm 组件)隔离,容器只在沙箱内部分隔进程。Replit 称已迁移数亿个项目且无数据丢失,独立内核也让它可以在沙箱里支持 Docker。

精简内核与 CVE 统计

客户机内核从 tinyconfig 起步,去掉蓝牙、无线、USB、显示等驱动,并禁止加载内核模块。Replit 统计了 2026 年 6 月 1 日至 11 月 4 日发布的 6,211 个 Linux 内核 CVE,称避开了其中 5,969 个(96.1%):4,375 个的修复在漏洞公开前已合入,676 个因内核配置排除了相关代码。网络出口规则在客户机外执行,由宿主侧代理按 TLS 握手中的主机名过滤、不解密内容;托管连接器通过凭据代理访问 GitHub 等服务,工作负载拿不到账号密钥;npm、pip 请求经过仓库防火墙拦截已知恶意包。

存储与启动

沙箱文件系统放在自研远程块存储上,按需拉取数据,写时复制让分叉磁盘很便宜。Replit 提到,对接这套存储的 vhost-user virtio-blk 后端是它最早一批完全由 AI 写成的组件之一,迭代五到七版后才定型。借助预热池和内存快照,含挂载用户磁盘在内,取用一个沙箱约 500 毫秒。在 Kubernetes 上同时编排数万台 microVM 的做法留到第二篇。文中性能与安全数字均为 Replit 自述,尚无第三方审计。

via: Replit Frontier:Inside Replit's New Sandbox Engine, Part 1: The Path to MicroVMs