跳到正文

AI工具Simon Willison07:16

smolmachines / smolvm 作为不受信任 Python 与 JavaScript 的沙箱

smolmachines / smolvm as a sandbox for untrusted Python & JavaScript

沙箱跑不可信代码,性能与隔离取舍需实测,别当安全承诺。

判断

给要跑用户提交 Python/JS 的人,取舍不在「能不能隔离」而在延迟预算:交互式任务得先接受冷启动 0.6–1.5 秒,再决定是否用硬件隔离虚拟机换掉共享内核容器。

依据

Simon Willison 实测 smolvm 1.8.3:它用硬件隔离虚拟机(hardware-isolated VM,每个沙箱跑在独立内核的虚拟机里)而非共享内核容器(shared-kernel container,进程共用宿主内核)来隔离不可信代码。离线本地镜像、禁网执行、CPU/RAM 上限、guest 内超时、存储配额、只读输入挂载、可写输出挂载和 --unprivileged 都按预期工作,代价是冷启动 0.6–1.5 秒、热执行约 50 ms。他让 Claude Fable 5 在 Claude Code for web 里做这项研究,该容器自身是 Firecracker guest(Linux 6.18.5-fc-v20,4 vCPU,15GB RAM),没有 /dev/kvm,也没有 vmx/svm 标志,嵌套虚拟化不可用,smolvm machine run 直接报「kvm not available」;于是改在暴露 /dev/kvm 的 GitHub Actions ubuntu runner 上跑测试。

  • 冷启动0.6–1.5 秒
  • 热执行约 50 ms
  • 测试容器 CPU4 vCPU
  • 测试容器内存15GB RAM
smolvm 1.8.3 的启动开销,以及无法嵌套虚拟化的测试容器规格

没写清 材料只记录了各功能按预期工作,没有对抗性负载或逃逸尝试的实测结果,因此不能替它补上安全强度的结论。

下一步 在暴露 /dev/kvm 的 GitHub Actions runner 上重跑同一批测试,核对 0.6–1.5 秒冷启动与约 50 ms 热执行是否复现。

本期其他新闻

  1. 行业动态

    AI 期货问世

    OpenAI

  2. 行业动态

    Stampli 使用 ChatGPT Work 将启动时间缩短 68%

    OpenAI

  3. AI工具

    ChatGPT 搜索现大规模支持 site: 运算符

    Simon Willison

  4. AI工具

    LFM2.5-DSpark 推理速度提升高达 3.2 倍

    Hugging Face

  5. AI工具

    基于 Bun 1.4 新 Bun.WebView 的 shot-scraper 风格 JSON API

    Simon Willison