rivet-dev/secure-exec
Secure Node.js Execution Without a Sandbox A lightweight library for secure Node.js execution. No containers, no VMs — just npm-compatible sandboxing out of the box.
What it solves
Secure Exec 提供了一種在不使用容器、虛擬機或外部沙箱服務的情況下,安全執行不受信任的 Node.js 與 TypeScript 程式碼的方法。它特別針對 AI 代理需要在資源使用受限、主機存取嚴格控制的安全環境中編寫與執行程式碼的需求。
How it works
此函式庫使用 V8 isolates——與 Chrome 瀏覽器分頁與 Cloudflare Workers 相同的隔離技術——來建立輕量級的執行邊界。它不會啟動完整的作業系統,而是在主機進程內透過虛擬核心與系統橋接執行程式碼。這樣即可保有原生 V8 效能(包括 JIT 編譯),同時維持「預設拒絕」的權限模型,限制網路、檔案系統與子行程的存取。
Who it’s for
- 開發 AI 代理、需要執行產生程式碼的開發者(相容於 Vercel AI SDK、LangChain 等)。
- 建立互動式程式碼遊樂場或插件系統的開發者。
- 想要執行使用者提交腳本或開發伺服器(如 Express、Hono)而不想管理 Docker 等複雜基礎設施的使用者。
Highlights
- Zero Infrastructure:不需要 Docker daemon、hypervisor 或供應商帳號;可透過 npm 安裝。
- Granular Permissions:預設拒絕檔案系統、網路與環境變數的存取。
- Resource Limits:透過 CPU 時間預算與記憶體上限,確保失控程式碼可被決定性終止。
- Node.js Compatibility:支援
fs、http、child_process等核心模組,並允許動態安裝 npm 模組。 - High Efficiency:相較於傳統容器式沙箱,冷啟動時間與記憶體占用顯著降低。