smolmachines / smolvm 作為不受信任 Python 與 JavaScript 程式碼的沙盒。
smolvm 1.8.3 經測試證明,非常適合用於沙盒化不受信任的 Python 和 JavaScript 資料轉換,它採用硬體隔離的虛擬機器而非共享核心容器。該方案支援離線本地映像、無網路執行、CPU/RAM 限制、客體強制逾時、儲存配額、唯讀輸入掛載以及可寫輸出掛載,且 --unprivileged 模式均按預期運作。冷啟動時間約 0.6–1.5 秒,熱執行時間約 50 毫秒。
我指派在 Claude Code for web 中運行的 Claude Fable 5 執行以下研究任務:測試 https://smolmachines.com 作為一個快速安全的沙盒。探索如何利用它來運行不受信任的 Python 和 JavaScript 程式碼,並限制其可佔用的 RAM 和 CPU 時間(防止無限迴圈),且無網路存取,檔案系統僅限於指定檔案。目標是能夠使用它來執行使用者提供的任務,例如資料轉換。
它很快就遇到了一個問題:Claude Code for web 環境無法運行 smol machines。引用它寫下的筆記:「這個 Claude Code 容器:Linux 6.18.5-fc-v20(本身是 Firecracker 客體),4 vCPU,15GB RAM。
沒有 /dev/kvm,也沒有 vmx/svm CPU 旗標 → 無法進行巢狀虛擬化。smolvm machine run 如預期般失敗:「kvm not available」。」
備用方案:GitHub Actions 的 Ubuntu 執行器確實暴露了 /dev/kvm → 透過此分支上的臨時工作流程運行實際的測試套件,收集日誌,並在最終提交中移除工作流程。而它也確實執行了備用方案,直接在 GitHub Actions 執行器上安裝 smolvm 並針對該分支運行這些測試。
這是對 Claude Code for web 環境限制的一個創意解決方案。這是 Fable 積極主動的另一個例子。



