跳转到内容
主站 新闻 控制台

*: 将 smolmachines /

· Simon Willison
技巧LLM

研究: 将 smolmachines / smolvm 用作运行不受信任 Python 和 JavaScript 的沙箱

我给在 Claude Code 网页版中运行的 Claude Fable 5 布置了以下研究任务:

对 https://smolmachines.com 进行全面测试,评估其作为快速安全沙箱的性能。探索如何使用它来运行不受信任的 Python 和 JavaScript 代码,并限制其可占用的内存(RAM)和 CPU 时间(防止“while true”死循环),同时禁止网络访问,且仅允许访问指定的本地文件。

目标是能够使用它来执行用户提供的任务,例如数据转换。

它很快遇到了一个问题:Claude Code 网页版环境无法运行 smol machines。引用它撰写的笔记

  • 当前 Claude Code 容器:Linux 6.18.5-fc-v20(其本身是一个 Firecracker 客户机),4 vCPU,15GB RAM。无 /dev/kvm,无 vmx/svm CPU 标志 → 无法进行嵌套虚拟化(nested virt)。
  • smolvm machine run 运行失败,符合预期,提示:“kvm not available”(KVM 不可用)。
  • 方案 B:GitHub Actions 的 ubuntu 运行器(runners)确实暴露了 /dev/kvm → 在该分支上通过临时工作流运行实际的测试套件,收集日志,并在最终提交中删除该工作流。

而方案 B 正是它所做的:安装 smolvm 并直接在 GitHub Actions 运行