# 策展 · X (Twitter) 🔥

> 作者：Malte Ubl (@cramforce) · 平台：X (Twitter) · 日期：2026-03-13

> 原始來源：https://x.com/cramforce/status/2032144710794637546

## 中文摘要

just-bash 是由 Vercel Labs 開發的模擬 bash 環境，現在新增了可選的 JavaScript 和 TypeScript 執行支援。這個工具用 TypeScript 編寫，專為需要安全沙箱 bash 環境的 AI Agent 設計。

**核心特性** 核心特性上，just-bash 提供完整的虛擬檔案系統存取，如果啟用則支援透過 fetch 進行網路存取，並可執行子殼層如 CLI。JavaScript 支援涵蓋大多數常見的 fs 和 child_process 等 Node.js 模組。

**安全模型設計** 安全模型方面，該工具採取預設安全策略：
- 殼層只能存取提供的檔案系統
- 執行受到無限迴圈和遞迴保護
- 預設情況下無法存取網路
- Python 和 JavaScript 執行也預設關閉，因為可能擴大安全風險
- 網路存取啟用時，會檢查 URL 前綴和 HTTP 方法允許清單

作者坦言 Bash 對於 DOS 攻擊的健全性仍不完全。

**JavaScript 執行** 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 轉換外掛** 該工具提供 AST 轉換外掛管道，可在執行前解析、轉換和序列化 bash 指令稿，適用於檢測（如捕捉每個命令的標準輸出/標準錯誤）或分析（如提取命令名稱）場景。

**測試版警示** 值得注意的是，這是測試版軟體。開發團隊明確要求使用者自行承擔風險並提供回饋。對於需要完整虛擬機功能（如執行 node、python 或自訂二進位檔案）的情況，建議改用 Vercel Sandbox。

## 標籤

CLI, Bash, 開源專案, Web, Vercel
