smolmachines / smolvm:用于不受信任的Python与JavaScript的沙箱
smolmachines / smolvm as a sandbox for untrusted Python & JavaScript
研究smolmachines/smolvm作为不可信Python与JavaScript沙箱的可行性。测试在Claude Code for web环境中进行,因缺少/dev/kvm及嵌套虚拟化支持而失败。改用GitHub Actions ubuntu runner(暴露/dev/kvm)运行测试套件,验证其可限制RAM、CPU时间、网络及文件系统访问,用于执行数据转换等用户任务。
研究:smolmachines / smolvm 作为不可信 Python 与 JavaScript 的沙箱
我让运行在 Claude Code for web 中的 Claude Fable 5 执行了以下研究任务:对 https://smolmachines.com 进行测试,评估其作为快速安全沙箱的可行性。探索如何利用它来运行不可信的 Python 和 JavaScript 代码,并限制其可占用的 RAM 和 CPU 时间(防止“while true”死循环),同时禁止网络访问,文件系统访问仅限于指定文件。目标是能够用它执行用户提供的任务,例如数据转换。
它很快遇到了一个问题:Claude Code for web 环境无法运行 smol machines。引用它写的笔记:
这个 Claude Code 容器:Linux 6.18.5-fc-v20(本身是 Firecracker guest),4 vCPU,15GB RAM。没有 /dev/kvm,没有 vmx/svm CPU 标志 → 不支持嵌套虚拟化。smolvm machine run 按预期失败:“kvm not available”。
备选方案:GitHub Actions ubuntu runner 确实暴露了 /dev/kvm → 通过该分支上的临时 workflow 运行真实测试套件,收集日志,在最终提交中移除 workflow。备选方案正是它所做的:在 GitHub Actions runner 中直接针对该分支安装 smolvm 并运行这些测试。这是对 Claude Code for web 环境限制的一种创造性解决方案,也是 Fable 始终积极主动的又一例证。
标签:研究、沙箱、AI、GitHub Actions、生成式 AI、LLM、Claude Mythos Fable