爱意满满的作品展示区。
SIFT2009

做了一个 DeepSeek DSec sandbox platform 的开源实现: OpenDsec

  •  
  •   SIFT2009 · 15h 34m ago · 419 views

    这段时间按照 DeepSeek 的 DSec 论文,做了一个 sandbox platform 的开源、自托管实现:OpenDsec。

    项目地址: https://github.com/Kernflux/opendsec

    先说明一下:这是独立项目,不包含 DeepSeek 代码,也不是 DeepSeek 官方发布或维护的项目。架构和主要设计来自论文;论文没有明确说明、或者我们采用不同方案的地方,都在 SPEC 里单独标注了。

    整体架构分为控制面和节点运行时。

    控制面里,stateless apiserver 负责认证、配额、调度和请求转发;IAM 用 Raft 保存身份、项目和配额状态;watcher 汇总各节点的健康与负载;每台计算节点运行一个 edge,负责最终准入和 sandbox 生命周期。组件之间走 gRPC + mTLS,sandbox id 里编码所在 edge,因此 apiserver 不需要维护 per-sandbox 路由表。

    节点侧目前支持三种后端:

    • Firecracker microVM
    • Linux container
    • 完整 QEMU VM

    sandbox 内运行 Aether,负责和 edge 通信;Chronus 维护持久 shell session。exec、文件、HTTP、process、PTY 使用同一套 runtime API。

    目前实现的一些能力:

    • microVM 冷启动约 0.1 秒,内存快照恢复约 55 ms
    • 可以 pause 成内存快照,也可以 fork 正在运行的 VM,并保留内存状态
    • 同节点 fork 共享内存页;跨节点时从源节点拉取快照
    • 从 OCI registry 导入镜像,不复制数据即可组合 image layers,并支持把 sandbox 修改 pack 成新镜像
    • 网络默认拒绝,可按 domain、CIDR、port 放行
    • 多级 project、quota、审计日志和短期可撤销 token
    • 批量 pause/resume、节点重启后重新接管运行中的 sandbox
    • 提供 E2B-compatible gateway,已有 E2B SDK 客户端可以直接接入
    • 支持离线安装,适合内网或 air-gapped 环境

    在我们的硬件上,一台 384 线程节点做过单批 5,120 个 microVM;两节点集群做过单批 8,192 个 container,未出现创建失败。这些都是 OpenDsec 在自有硬件上的实测,不是论文中的数字。

    项目目前在一个小型生产集群上运行。代码、quickstart、架构文档和各项测量都放在仓库里。欢迎对 sandbox、Firecracker、agentic RL 基础设施感兴趣的朋友试用,也很想听听大家对架构和实现取舍的意见。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5344 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:57 · PVG 10:57 · LAX 19:57 · JFK 22:57
    ♥ Do have faith in what you're doing.