Security - Neotask by Neotask Documentation | Neotask
安全性
概述
Open Claw 採用以安全性為優先的架構設計。Gateway 預設綁定至 localhost,所有敏感資料在靜態時加密,代理程式執行可以在隔離容器中沙盒化。
網路安全
預設回送
Gateway 只監聽 127.0.0.1(localhost),除非您明確更改綁定模式。預設情況下無外部網路暴露。
驗證
所有 WebSocket 連接都需要驗證:
令牌驗證 — 不記名令牌(UUID 或自訂字串)
密碼驗證 — Bcrypt 雜湊密碼
受信任代理 — 來自反向代理的預驗證標頭
本機信任 — 回送連接隱式受信任遠端存取安全
對於遠端存取,推薦的方法是 Tailscale VPN 或 SSH 隧道——永遠不要將 Gateway 直接暴露於網際網路。
裝置配對
配對如何運作
每個連接至 Gateway 的用戶端都必須配對:
裝置呈現其身份(指紋 + 公鑰)
Gateway 發出配對挑戰(nonce)
裝置用其私鑰簽署 nonce
您透過 UI 核准裝置
Gateway 為未來的連接發出裝置令牌信任模型
本機裝置(回送)為了方便起見自動核准
非本機裝置需要明確核准
裝置令牌儲存在本機,在重新連接時重複使用
裝置可以隨時撤銷加密
靜態資料
AES-256-GCM — 所有令牌、密鑰和 API 金鑰在靜態時加密
機器衍生金鑰 — 加密金鑰透過 scrypt 從裝置身份衍生
無明文儲存 — 令牌永遠不以明文儲存傳輸中的資料
TLS — 用於 API 通訊的 HTTPS
WSS — 用於 Gateway 連接的 WebSocket Secure(使用 Tailscale Serve 或反向代理時)
HMAC 簽名 — 帶有 nonce 和時間戳記的請求完整性沙盒
基於 Docker 的隔離
代理程式命令執行可以在 Docker 容器中沙盒化:
每代理程式設定檔 — 每個代理程式可以有自己的沙盒設定
資源限制 — 可設定的 CPU、記憶體和超時限制
網路隔離 — 容器可以與網路隔離
檔案系統限制 — 代理程式只能存取其工作空間
自訂映像 — 使用安裝了特定工具的預建映像沙盒範圍
| 範圍 | 說明 |
|------|------|
| 每工作階段 | 每個工作階段使用全新容器 |
| 每代理程式 | 每個代理程式的持久容器 |
| 共享 | 跨代理程式的共享容器 |
工作空間存取
沙盒化代理程式可以存取其工作空間目錄(掛載至容器中),但無法存取工作空間外的主機檔案系統。
執行核准
控制代理程式可以在節點和 Gateway 主機上執行哪些命令:
模式
| 模式 | 說明 |
|------|------|
| Allowlist | 只有預先核准的命令才能執行 |
| Ask | 未知命令提示使用者核准 |
| Full | 無限制(謹慎使用) |
每節點設定
每個節點(macOS、無頭主機)都有自己的執行核准設定,儲存在本機。您可以允許特定二進位檔(例如 /usr/bin/docker、/usr/local/bin/terraform),同時封鎖其他所有內容。
提升模式
某些操作需要直接在 Gateway 主機上執行(而非在沙盒中)。提升模式:
受代理程式設定中明確權限的管控
只在 Gateway 主機上可用
預設停用
透過日誌記錄可審計安全審計
內建安全審計檢查:
設定檔案權限(應為 600)
工作階段檔案權限
Node.js 版本(安全修補)
明文密鑰偵測
外掛允許清單驗證
開放網路介面審計
驗證設定完整性獲得許可後,審計可以自動修復許多問題。
最佳做法
將 Gateway 保持在回送上 — 使用 Tailscale 或 SSH 進行遠端存取
啟用沙盒 — 在 Docker 容器中執行代理程式命令
使用執行允許清單 — 限制代理程式可以在節點上執行哪些命令
設定驗證令牌 — 即使對於回送,也始終設定令牌驗證
審查代理程式權限 — 盡可能使用最小工具設定檔
保持 Open Claw 更新 — 更新包含安全修補
定期審計 — 執行安全審計以發現設定錯誤
限制外掛載入 — 只安裝受信任的外掛
View full documentation