← 返回首頁
Malte Ubl
Malte Ubl
@cramforce
478🔁 28
𝕏 (Twitter)🔥
AI 中文摘要Claude 生成
just-bash 是由 Vercel Labs 開發的模擬 bash 環境,現在新增了可選的 JavaScript 和 TypeScript 執行支援。這個工具用 TypeScript 編寫,專為需要安全沙箱 bash 環境的 AI Agent 設計。 核心特性上,just-bash 提供完整的虛擬檔案系統存取,如果啟用則支援透過 fetch 進行網路存取,並可執行子殼層如 CLI。JavaScript 支援涵蓋大多數常見的 fs 和 child_process 等 Node.js 模組。 安全模型方面,該工具採取預設安全策略。殼層只能存取提供的檔案系統,執行受到無限迴圈和遞迴保護,但作者坦言 Bash 對於 DOS 攻擊的健全性仍不完全。預設情況下無法存取網路,Python 和 JavaScript 執行也預設關閉,因為可能擴大安全風險。網路存取啟用時,會檢查 URL 前綴和 HTTP 方法允許清單。 JavaScript 執行功能基於 QuickJS(WASM 沙箱),需明確啟用。支援 ES 模組模式及 import,並提供 Node.js 相容性,包括 fs、path、child_process、process 等常用模組。可設定 bootstrap 程式碼在每次 js-exec 執行前運行,用於注入 polyfills 或全域工具。執行限制為 64 MB 記憶體,預設 10 秒逾時(啟用網路時 60 秒)。 檔案系統支援多種實作方式。InMemoryFs 是純記憶體檔案系統;OverlayFs 採寫入時複製,讀取來自磁碟但寫入留在記憶體;ReadWriteFs 直接讀寫真實目錄;MountableFs 可在不同路徑掛載多個檔案系統。使用者可組合多個檔案系統建立統一命名空間,例如掛載只讀知識庫和可寫工作區。 命令支援範圍廣泛,包括檔案操作(cat、cp、ls 等)、文字處理(grep、sed、awk 等)、資料處理(jq、yq、sqlite3、xan)、壓縮歸檔(gzip、tar)和網路命令(curl、html-to-markdown)。shell 功能支援管道、重導向、命令鏈、變數、位置參數、全域擴展、if 陳述式、函式、迴圈和符號連結。 網路存取預設禁用,啟用時需配置允許的 URL 前綴和 HTTP 方法。允許清單強制執行原始位址匹配、路徑前綴、HTTP 方法限制和重導向保護。 執行保護設有可配置的限制,包括最大函式遞迴深度、總命令數、迴圈反覆次數及 awk/sed 反覆次數,所有限制均有合理預設值。 該工具提供 AST 轉換外掛管道,可在執行前解析、轉換和序列化 bash 指令稿,適用於檢測(如捕捉每個命令的標準輸出/標準錯誤)或分析(如提取命令名稱)場景。 值得注意的是,這是測試版軟體。開發團隊明確要求使用者自行承擔風險並提供回饋。對於需要完整虛擬機功能(如執行 node、python 或自訂二進位檔案)的情況,建議改用 Vercel Sandbox。