
沙箱 Web 瀏覽器在明確限制的瀏覽器環境中執行 Web 內容,因此故障或惡意頁面影響主機、其他使用者或後續會話的方式較少。 對於 AI 代理來說,「沙箱」可能意味著多種不同的東西:Chromium 的進程沙箱、單獨的瀏覽器設定檔、本機應用程式工作區、容器、虛擬機器、網路原則或臨時遠端會話。 你需要先命名邊界,然後才能判斷它。
什麼是沙盒網頁瀏覽器?
一個有用的定義包含三個部分:瀏覽器進程受到約束,瀏覽器狀態受到範圍限制,以及周圍系統限制會話可以達到或保留的內容。 如果產品僅在另一個標籤中開啟 URL,則不足以將其稱為安全沙箱。 如果它啟動了新的遠端瀏覽器,但為該瀏覽器提供了廣泛的網路憑證,那麼「短暫」並不自動意味著低風險。
Chromium 本身將瀏覽器和渲染器程序分開,並應用特定於平台的沙箱機制。 然後,服務可以新增新的使用者資料目錄、容器或虛擬機器、出站網路控制、秘密注入、檔案安裝、資源限制和拆卸。 每層保護不同的資產並具有不同的故障模式。
對於 AI 代理程式來說,威脅模型比惡意 JavaScript 更廣泛。 代理可能會遵循頁面上的提示注入,選擇錯誤的控件,暴露表單中的秘密,下載不安全的文件,或重複使用特權會話來執行意外任務。 因此,瀏覽器隔離必須與代理權限和確認策略配合使用。
代理應該使用本地沙箱還是遠端沙箱?
按這個順序判斷:身分狀態、風險邊界、執行規模、人工接管。哪一項是不能妥協的硬性要求,就由它決定路線。
- 任務必須沿用已授權的登入狀態、本機擴充功能或裝置綁定狀態時,選擇本機持久瀏覽器。
- 不受信任的頁面必須與使用者裝置隔離、每次執行都要從乾淨環境開始,或需要大量並行工作階段時,選擇遠端沙箱。
- 使用者必須隨時查看、登入、確認或停止任務時,選擇已驗證即時畫面與人工接管能力的本機或遠端瀏覽器。
- 既要保留身分連續性,又要把風險隔離到裝置之外時,選擇混合架構:把依賴帳戶的步驟留在本機,把匿名或高並行工作交給一次性遠端工作階段。
| 決策因素 | 本地持久瀏覽器 | 遠端沙箱 |
|---|---|---|
| 現有登錄 | 可以重複使用授權的本機設定檔或專用本機狀態 | 通常根據提供者規則匯入、重新建立或註入狀態 |
| 人類接管 | 直接在使用者附近可見 | 取決於提供者即時檢視/控制支援和延遲 |
| 與主機隔離 | 瀏覽器/設定檔邊界;主機仍然是本地的 | 可以新增與使用者主機分離的容器或VM |
| 並發 | 受一台機器和本地爭用的限制 | 專為配置佇列、配額和平行會話而設計 |
| 託管 | 狀態和工件保留在使用者的電腦上,除非同步 | 狀態、流量和工件進入提供者控制的基礎設施 |
| 維護 | 使用者或團隊擁有瀏覽器、電腦、更新和容量 | 供應商擁有更多基礎設施;客戶擁有策略和整合 |
哪些隔離層真正重要?
分別評估至少六層。 進程隔離限制了受損渲染器可以對其他進程執行的操作。 設定檔隔離將 cookie、本機儲存、歷史記錄和擴充分開。 檔案系統隔離限制可讀和可寫入路徑。 網路隔離控制目的地、DNS、代理程式和專用網路範圍。 計算隔離添加了容器或虛擬機器邊界。 租用戶隔離可防止一個客戶的瀏覽器、日誌、機密或工件進入另一個客戶的工作負載。
也將生命週期與隔離分開。 十分鐘後刪除會話會降低持久性,但並不能證明該會話在活動狀態下無法到達敏感網路。 相反,如果有意限製設定檔、代理權限和任務範圍,則對於狹窄的受信任帳戶工作流程來說,持久的本地空間是可以接受的。
登入狀態和資料保管有何不同?
本地持久性瀏覽器可以將 cookie、本機儲存、用戶端憑證和相容的擴充功能保存在靠近使用者的地方。 這消除了重複的登入工作,但引發了過度存取的後果:代理可能會繼承比任務所需的更多的帳戶狀態。 首選專用工作設定檔或空間,僅允許所需的站點,並要求確認不可逆轉的操作。
遠端沙箱通常開始清理,然後接收儲存狀態、登入流程或提供程式管理的持久性。 這提高了再現性,但將一些瀏覽器狀態和流量傳送到遠端控制平面。 檢查加密、區域、保留、日誌、重播工件、員工存取、子程序隔離和刪除行為。 不要上傳個人資料,因為提供者支援儲存狀態欄位。
會話過期仍然是應用程式行為。 MFA、風險檢查、裝置綁定、IP 變更和 cookie 輪調可能會使任一路徑失效。 可靠的代理程式會偵測到過期的會話,在錯誤頁面上執行操作之前停止,然後返回控制權或遵循已批准的重新驗證流程。
人工接管和調試有何不同?
本地可見執行將瀏覽器放在使用者旁邊,當人們必須檢查上下文、解決身份驗證步驟或立即停止不安全操作時,這非常有用。 專用的本地空間還可以避免將代理操作混合到不相關的日常選項卡中。
遠端瀏覽器環境可能會公開即時會話表面、命令流程、日誌、記錄和重播。 這些功能可以支援分散式團隊和運行後調試,但接管延遲、存取控制、保留和區域可用性仍然是特定於實現的。 在您實際操作的環境中驗證它們。
在即時驗證的 Airbnb 運行中,Claude Code 使用 ego-browser 路徑驗證可見 UI 的登錄,搜尋東京 10 月 20 日至 23 日和兩名房客,應用整個家庭過濾器,打開兩個列表,並比較比較可見代理,同時在代理控制下。 它不會檢查會話 cookie 或執行預訂、願望清單、訊息傳遞或帳戶操作。

運行僅比較兩個頁面明顯暴露的內容。 房源 A 顯示的是一間價格為 JPY 58,188 的服務式公寓,並有 577 則評論給出 4.89 評級。 清單 B 顯示的出租單位價格為 43,154 日元,並有 489 則評論給出 4.9 評級。 兩個頁面都使用相同的通用「24 小時免費取消」措辭,因此代理商在未進入預訂面板的情況下無法推斷特定日期的取消條款。
比較完成後,使用者選擇了接管。 相同的空间和列表保持打开状态,状态从“代理处于控制状态”更改为“您处于控制状态”,并且可用操作更改为“返回代理”。 這是直接的介面級切換觀察;它沒有規定每個網站或中斷的操作將如何運作。

並發、重播與成本有何不同?
本地電腦的 CPU、記憶體、顯示器、設定檔鎖和網路容量都是有限的。 它適用於互動式或低並發工作,但並行代理不得立即變更相同的設定檔。 远程服务可以提供许多独立的会话并集中记录,但配额、启动时间、浏览器分钟数、代理流量、存储和可观察性功能会影响成本。
成本比較需要一個匹配的單位:完成的任務,而不是單獨的原始瀏覽器分鐘。 包括設定、重試、代理流量、CAPTCHA 或 MFA 切換、狀態建立、工件儲存、失敗會話重播和操作員時間。 我們沒有針對本文的可比較的計費遙測,因此我們不會發布獲勝者或價格表。
我們的本地持久性測試顯示了什麼?
我們在一個專用的 ego (lite) 空間中使用了 ego-browser 0.5.0.31 和 Chromium 152.0.7977.54。 第一個 Claude Code 程序完成了唯讀 Airbnb 比較並將空間交給使用者。用户返回控制权后,新的 Claude Code 进程恢复 Space 12 并检查其现有选项卡,而无需导航、重新加载或更改它们。
| 檢查 | 观察结果 |
|---|---|
| 新进程找到的相同空间 | 是的,空间12 |
| 东京搜索结果选项卡保留 | 是的,第1页 |
| 保留了兩個清單詳細資料選項卡 | 是的,p2 和 p3 |
| 可见列表仍然活跃 | 是的,p3 |
| 需要導航、重新載入或選項卡突變 | 沒有 |

此观察结果在该计算机上的两个 Claude Code 进程之间建立了连续性:相同的空间、三个选项卡、标签、标题、URL 和活动列表仍然可用。 它不能證明無限期的身份驗證、瀏覽器或設備重新啟動後的持久性、與每個網站的兼容性或遠端沙箱行為。
我們的遠端代理運行顯示了什麼?
為了進行中立的設備外檢查,我們在 Google Colab Linux 運行時中啟動了無頭 Chromium,並在 10 月 20 日至 23 日、兩名成人和整個家庭中打開了相同的東京公共搜尋。 未提供 Airbnb 憑證。 兩次運行在 17.66 和 16.42 秒內完成。 兩者都返回 HTTP 200,呈現列表和地圖,提取相同的五個不同的房間鏈接,並且沒有記錄任何阻止信號。


這縮小了早期的證據差距:一個乾淨的遠端虛擬機完成了這個匿名公共頁面探測兩次。 它仍然沒有測試多租戶隔離、提供者管理的機密、會話重播、即時接管、地理出口、帳戶重複使用或拆卸保證。 這些需要具有授權帳戶和單獨凍結的測試計劃的託管遠端瀏覽器環境。
什麼時候應該使用混合架構?
當同一系統具有不相容的信任區域時,請使用混合。 將依賴帳戶的、使用者可見的步驟路由到專用本地空間,並將匿名發現、不受信任的頁面或大型扇出工作路由到一次性遠端會話。 僅在區域之間傳遞最小結果,例如公共 URL 或規範化記錄,而不是整個瀏覽器設定檔。
安全路由器會考慮目標信任、所需身分、資料敏感度、並發性、地理出口、接管要求以及官方 API 是否可以取代瀏覽器工作。 當沒有路由符合策略時,它應該拒絕任務,而不是默默地選擇最有特權的瀏覽器。
最小的整合是什麼樣子?
本機路徑建立一個專用的瀏覽器工作區、導覽現有頁面、執行有界任務、驗證結果並關閉代理程式建立的頁面。 遠端路徑向提供者請求會話,連接自動化客戶端,執行相同的任務,僅儲存所需的工件,甚至在失敗時也終止會話。
route = policy.choose({
targetTrust, requiredIdentity, concurrency, takeover
})
if (route === "local") {
runInDedicatedVisibleSpace(task)
} else if (route === "remote") {
session = await sandbox.create({ ttl, egressPolicy })
try { await runTask(session.endpoint) }
finally { await sandbox.terminate(session.id) }
} else {
throw new Error("No safe browser route")
}生產代碼還應設定超時、冪等金鑰、允許的來源、下載隔離、秘密範圍、工件保留以及不包含原始憑證的審核記錄。
如何驗證瀏覽器沙箱?
- 編寫資產和攻擊者模型:主機檔案、內部網路、憑證、另一個租戶、後續會話和人工操作員。
- 分別對應瀏覽器進程、設定檔、檔案系統、網路、運算、租用戶和生命週期邊界。
- 運行金絲雀任務,僅嘗試批准的測試讀取和寫入,然後證明禁止的主機路徑和目標仍然無法存取。
- 使用命名的非秘密標記來驗證乾淨啟動和持久性行為。 確認拆卸實際上刪除了預期狀態。
- 測試過期、崩潰、重試、失去控制、彈出、下載和中斷登入路徑。
- 使用實際使用者和存取策略來驗證即時接管和撤銷,而不是行銷螢幕截圖。
- 根據保留策略檢查工件、日誌、重播、備份並支援存取。
- 在實際並發下重複並僅當所有分母都可用時記錄已完成的任務成本。
ego (lite) 適合什麼情境?
ego (lite) 首先是一款為人與 AI Agent 協同工作而設計的本機 Chromium 瀏覽器,產品類別屬於 AI Agent 瀏覽器。它不是 AI Agent 本身,也不是安裝在 Chrome 上的瀏覽器擴充功能、遠端雲端瀏覽器,或 Playwright 這類瀏覽器自動化框架。你可以把它當作一般瀏覽器使用;Claude Code、Codex、Cursor、Gemini CLI 等相容的 Agent 則透過 ego-browser 操作它。ego (lite) 目前在 macOS 上執行,可匯入 Chrome 的分頁、書籤、密碼、擴充功能、Cookie、登入工作階段和瀏覽器設定檔。每個 Agent 任務都在獨立的 Space 中執行,你可以查看執行過程、暫停任務或隨時接管。
基於這個定位,ego (lite) 適合需要沿用已授權登入狀態的網頁工作,例如讓 Agent 在你已登入的 Gmail、Notion、LinkedIn、內部工具或 SaaS 管理後台中查詢資訊、整理內容和填寫表單;也適合需要你看得見並能隨時介入的跨頁研究、比價、瀏覽器測試和較長的瀏覽器流程。你還可以讓多個 Agent 在各自的 Space 中平行執行任務,自己繼續使用其他分頁。由於瀏覽器在本機執行,它也適合不想把 Cookie 和瀏覽工作階段交給託管雲端瀏覽器,並希望任務沿用本機網路、VPN 或 Proxy 的團隊與個人。如果核心需求是遠端多租戶隔離、大規模一次性工作階段、由服務商控制網路出口,或讓不受信任的頁面完全遠離本機,應選擇遠端沙箱或混合架構;如果官方 API 或一般 HTTP 請求已能完成任務,也沒有必要啟動瀏覽器。
哪些來源定義了這個比較?
對於瀏覽器進程邊界,請閱讀Chromium的沙盒設計。 對於會話級分離,請閱讀 Playwright 的瀏覽器上下文隔離指南。 對於主機和容器邊界,請閱讀 Docker 的引擎安全概述。 這些來源定義了隔離層和測試原語。 它們並不能證明特定的託管服務正確地實現了每個邊界。
常見問題解答
隱身模式是瀏覽器沙箱嗎?
隱身主要改變本地歷史記錄和儲存持久性。 它本身不會添加虛擬機器、租用戶邊界、網路白名單或針對權限過高的代理的保護。
遠端沙箱總是比較安全嗎?
沒有。 它可以將工作與使用者的機器隔離,但安全性仍然取決於租戶分離、網路覆蓋範圍、秘密、提供者保管、保留以及代理允許的操作。
本機瀏覽器可以重複使用我的登入資訊嗎?
專用的本機設定檔或授權的匯入狀態可以保留 cookie 和存儲,具體取決於網站政策、到期日、MFA 和產品相容性。 使用滿足任務的最窄型材。
每個代理程式都應該在新的瀏覽器中運行嗎?
新會話對於不受信任或可重複的工作很有用。 當身分連續性是任務的一部分並且有意限制權限時,持久會話是合理的。