BentoBox icon

BentoBox

BentoBox 是適用於 coding agents 與命令的核心層沙箱,採預設拒絕隔離執行,支援 Linux 與 macOS,讓你安全執行 build、測試與 agent 工作流,阻擋敏感檔案與未授權存取。

BentoBox

BentoBox 的功能與存在原因

BentoBox 是一個用於在分區化執行環境中執行 coding agents 與其他命令的核心層沙箱。README 將其描述為可在幾秒內、零設定與零啟動延遲地將 AI agent 沙箱化,並使用核心層強制,而不是 interpreter 層級的控制。

這個產品以預設拒絕的 compartments 為核心。agent 可以在其指派的工作區以及你明確授予的任何路徑或權限中運作,而對憑證檔案、任意系統路徑、網路存取與其他資源的存取,除非政策允許,否則都會保持阻擋。該 repository 也記錄了建立在 Rust core 之上的 Python 與 TypeScript SDK,另外還有像是憑證代理、快照與輸出壓縮等專門行為模組。

核心能力

核心層強制隔離

直接由作業系統核心強制執行 compartment 中的 agents 與 shell 命令,而不是由 interpreter 來約束。

以權限為基礎的沙箱化

採用預設拒絕的存取規則,讓 worktree 可以開啟,同時未核准的路徑、憑證與其他敏感區域仍會被阻擋,除非明確允許。

Compartment 工作流

支援具名 compartments,且每個 compartment 都有自己的權限、資源限制與訊息路由,方便拆分 fetch、build、deploy 等不同步驟。

檔案系統與網路政策控制

提供對檔案系統、程序與網路存取的控制,包括每個 box 的完整網路存取或僅限 localhost。

快照與回復

包含以雜湊為基礎的 snapshots 與 rollback,因此可還原變更過的檔案,也能找回已刪除的檔案。

多語言 SDK 介面

在單一 Rust core 之上提供 Python 與 TypeScript wrappers,且 Python README 與 SDK 文件中有範例說明。

BentoBox 的適用情境

  • 將 coding agents 與 secrets 隔離

    當你想對某個 repository 執行 coding assistant,但不希望它能自由存取工作區外的 SSH keys、雲端設定或其他憑證時,就使用 BentoBox。

  • 分階段的自動化流程

    使用具名 compartments 將工作流程切分為 fetch、build 與 deploy 階段,並為每個步驟套用不同的檔案系統與網路權限。

  • 沙箱化開發任務

    在受限環境中執行 build、test 或 package 命令,讓命令可以讀取所需內容,但除非允許,否則不能廣泛寫入或存取網路。

  • 在執行後復原變更過的檔案

    當你希望執行期間的檔案變更可被還原,包括執行過程中被刪除的檔案時,就使用 snapshot 與 rollback 行為。

  • 在應用程式程式碼中嵌入沙箱化

    當你想把沙箱整合進已經以 Python 或 TypeScript 執行的程式碼,而不只是呼叫獨立工具時,就使用 Python SDK 或 TypeScript wrappers。

Pros and Cons

Pros

  • 核心設計以核心層強制為主,README 說明一旦套用就無法放寬,只能再加嚴。
  • 預設拒絕的存取有助於在未明確授權前,持續阻擋憑證與其他敏感檔案。
  • 具名 compartments 讓人可以建模多步驟 pipeline,而不只是單一命令的沙箱化。
  • Snapshots 與 rollback 提供了對變更或已刪除檔案的復原路徑。
  • Python 與 TypeScript wrappers 讓核心可從多種語言使用。

Cons

  • README 顯示透過 Landlock 支援 Linux、透過 Seatbelt 支援 macOS,因此來源中的平台涵蓋並非完全通用。
  • 文件技術細節豐富,但產品本身是自架/開源 repository 軟體,而不是帶有已文件化導入流程或代管定價的託管服務。
  • 安全模型與工作流程很強大,但需要定義 compartments、permissions 與 routes,因此設定比單一命令 wrapper 更複雜。

FAQ

BentoBox 支援哪些平台?

BentoBox 設計用來在核心層強制隔離的 compartment 中執行 agents 或由 agent 啟動的命令。README 強調透過 Landlock 支援 Linux,並透過 Seatbelt 支援 macOS。

BentoBox 有 SDK 嗎?

README 顯示可透過 bentoworks 套件在 Python 中使用,並且也說明有建立在 Rust core 之上的 Python 與 TypeScript wrappers。

BentoBox 可以處理多步驟工作流程嗎?

可以。來源中包含一個多 compartment pipeline 範例,其中一個 compartment 透過 edge() 與 box.run(entry=...) 將工作傳遞給另一個 compartment。

BentoBox 如何控制存取?

BentoBox 使用預設拒絕(deny-by-default)政策。只有明確授予的權限,例如 fs_read、fs_write、fs_exec 或 network,compartment 才能存取。

BentoBox 有公開的價格資訊嗎?

README 沒有提供 BentoBox 本身的託管價格資訊。該 repository 在 GitHub 上是公開的,而產品被描述為透過其自身的 runtime 與 SDKs 執行的沙箱。

Quick Facts

類別
開發者工具
來源網域
github.com
主要執行環境
Rust core 搭配 Python 與 TypeScript SDKs
支援環境
Linux(Landlock)與 macOS(Seatbelt)
安全模型
預設拒絕
Repository 狀態
公開 GitHub repository