沙盒設下明確界線,讓智慧體能自主行動,同時避免其 不受限制地存取您的電腦。在 ChatGPT 桌面版應用程式、 Codex CLI 或 IDE 擴充功能 中,本機對話所執行的指令都會在 受限環境中運作,而非預設擁有完整存取權。
此環境界定智慧體可自行執行哪些操作,例如可修改哪些檔案,以及指令能否使用網路。只要任務維持在這些界線內,智慧體就能持續執行,不必停下來要求確認。需要越過界線時,則會進入核准流程。
沙盒與核准是兩種相互配合的控制機制。沙盒界定技術上的界線,核准政策則決定智慧體何時必須在越過界線前停下來要求核准。
沙盒的作用
沙盒不只適用於內建的檔案操作,
也適用於啟動的指令。如果智慧體執行 git、套件管理器或測試執行器等工具,
這些指令也會受到相同沙盒界線的限制。
Codex 會透過各作業系統的原生機制強制執行限制。macOS、Linux、WSL2 與原生 Windows 上的實作方式各不相同,但所有介面的理念一致:為智慧體提供有明確界線的工作環境,讓例行任務能在清楚的限制內自主執行。
沙盒為何重要
沙盒可減輕反覆核准造成的負擔。智慧體不必要求您確認每一項低風險指令,就能在您已核准的界線內讀取檔案、進行編輯,並執行例行的專案指令。
沙盒也讓您更清楚知道,將工作交給智慧體時,信任的依據是什麼。您不只是相信智慧體的意圖,更是相信它會在強制執行的限制內運作。如此一來,您就能更放心地讓智慧體獨立工作,同時清楚知道它何時會停下來尋求協助。
開始使用
預設權限模式會自動套用沙盒機制。
先決條件
在 macOS 上,沙盒使用內建的 Seatbelt 框架, 無須額外設定即可運作。
在 Windows 上,若於 PowerShell 中執行,Codex 會使用原生的 Windows 沙盒;若於 WSL2 中執行,則會使用 Linux 沙盒實作。
在 Linux 和 WSL2 上,請先使用套件管理器安裝 bubblewrap:
sudo apt install bubblewrapsudo dnf install bubblewrapCodex 會使用在 PATH 中找到的第一個 bwrap 可執行檔。若沒有可用的 bwrap 可執行檔,
Codex 會改用隨附的輔助程式,但該程式
需要系統支援建立非特權使用者命名空間。安裝
提供 bwrap 的發行版套件,可讓此設定穩定運作。
缺少 bwrap,或輔助程式無法建立所需的使用者命名空間時,
Codex 會在啟動時顯示警告。在透過這項 AppArmor 設定施加限制的發行版上,
應優先載入 bwrap AppArmor 設定檔,讓 bwrap 能繼續運作,
而無須在整個系統停用此限制。
Ubuntu AppArmor 注意事項: 在 Ubuntu 25.04 上,從 Ubuntu 套件庫安裝 bubblewrap 後,
應可直接運作,無須額外設定 AppArmor。
bwrap-userns-restrict 設定檔隨附於 apparmor 套件中,路徑為
/etc/apparmor.d/bwrap-userns-restrict。
在 Ubuntu 24.04 上,即使已安裝 bubblewrap,Codex 仍可能警告無法建立所需的使用者命名空間。
請複製並載入額外的設定檔:
sudo apt update
sudo apt install apparmor-profiles apparmor-utils
sudo install -m 0644 \
/usr/share/apparmor/extra-profiles/bwrap-userns-restrict \
/etc/apparmor.d/bwrap-userns-restrict
sudo apparmor_parser -r /etc/apparmor.d/bwrap-userns-restrictapparmor_parser -r 會將設定檔載入核心,無須重新啟動。
您也可以重新載入所有 AppArmor 設定檔:
sudo systemctl reload apparmor.service如果無法取得該設定檔,或載入後仍未解決問題,您可以使用以下方式停用 AppArmor 的非特權使用者命名空間限制:
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0權限的運作方式
請使用目前介面上的權限控制項,變更 Codex 處理本機操作的方式。
核准機制決定 Codex 何時應在執行操作前暫停,而沙盒則決定指令可存取哪些檔案和網路資源。當核准要求提供不同範圍,例如僅核准一次或核准整個工作階段時,請選擇能讓任務繼續的最小範圍。預設應以專案為界線;請使用不同的專案或工作樹,而不要擴大存取範圍,涵蓋無關的程式碼庫。
ChatGPT Work 會在受管理的隔離環境中執行程式碼和 Shell 指令。 可使用哪些能力,取決於工作區政策 和各工具專屬的控制項。若提供此設定,請前往 設定 > 資料控制項 > Work 網路存取 ,管理程式碼和 Shell 指令的網路存取。開啟 允許存取公用網際網路 ,即可讓這些指令 連線至公用網際網路。關閉時,指令只能連線至 受管理的允許清單所列的必要主機名稱。
網頁搜尋、外掛程式與遠端瀏覽器各有獨立的控制項。目前的程式碼或 Shell 執行作業結束,且 Work 重新整理執行環境後,變更才會生效。ChatGPT 網頁版不提供本機 Codex 沙盒或核准模式選擇器。
在 ChatGPT 桌面版應用程式中,請使用撰寫工具下方的權限控制項。 視您的組態而定,選單可能包含 要求核准、 適用於符合條件之核准要求的代我核准 、 完整存取權,以及 具名或自訂的權限設定檔。
Ask for approval
Codex can read and edit files in the current workspace and run routine local commands. It asks before using the internet or going beyond the workspace boundary.
- Sandbox
workspace-write- Approvals policy
on-request- Reviewer
user
在 CLI 中,請輸入
/permissions
以開啟權限選擇器,並變更目前使用的權限設定檔。
在 IDE 擴充功能中,請使用撰寫工具下方的權限控制項。 視您的組態而定,選單可能包含 要求核准、 適用於符合條件之核准要求的代我核准 、 完整存取權,以及 具名或自訂的權限設定檔。
設定預設值
若希望每次啟動時都採用相同的行為,請在 config.toml 中設定預設值。
基本設定說明其運作方式,
組態參考資料則詳細記載下列設定鍵:
sandbox_mode、approval_policy、approvals_reviewer 與
sandbox_workspace_write.writable_roots。透過這些設定,您可以決定
智慧體預設擁有多少自主權、可寫入哪些目錄、
何時應暫停以要求核准,以及由誰審查符合條件的核准要求。
常見的沙盒模式概述如下:
read-only:智慧體可以檢查檔案,但未經核准,無法編輯檔案 或執行指令。workspace-write:智慧體可以讀取檔案、在工作區內編輯檔案, 並在該界線內執行例行的本機指令。這是本機工作的預設模式, 可讓操作更加順暢。danger-full-access:智慧體執行時不受沙盒限制。 此模式會移除檔案系統與網路界線,因此只有在您希望 智慧體以完整存取權執行操作時才應使用。
常見的核准政策如下:
on-request:智慧體預設在沙盒內工作, 需要越過界線時會要求核准。never:智慧體不會停下來提示您核准。
Codex 與 ChatGPT Work 不再支援將 untrusted 選為核准政策。
若現有組態使用此值,請參閱從已停用的
untrusted 核准政策
遷移。
採用互動式核准時,您也可以透過
approvals_reviewer 選擇由誰審查核准要求:
user:向使用者顯示核准提示。這是預設值。auto_review:將符合條件的核准提示交給審查智慧體處理(請參閱 自動審查)。
完整存取權是指同時使用 sandbox_mode = "danger-full-access" 與
approval_policy = "never"。相較之下,風險較低的本機自動化
預設組合是 sandbox_mode = "workspace-write" 搭配
approval_policy = "on-request",或使用對應的 CLI 旗標
--sandbox workspace-write --ask-for-approval on-request。接著,您可以保留
approvals_reviewer = "user" 以進行手動核准,或設定
approvals_reviewer = "auto_review" 以自動審查核准要求。
如果需要智慧體跨多個目錄工作,可寫入根目錄設定能讓您擴大其可修改的範圍,而無須完全移除沙盒。如果需要更寬或更窄的信任界線,請調整預設沙盒模式與核准政策,而不要依賴一次性的例外。
工作流程需要特定例外時,請使用規則。 規則可讓您針對沙盒外的指令前綴,設定允許執行、要求確認或禁止執行, 通常比全面擴大存取權更合適。若要了解 IDE 專屬設定 的位置,請參閱Codex IDE 擴充功能設定。
自動審查功能即使可用,也不會改變沙盒界線。
對於觸及該界線的核准要求,自動審查是 approvals_reviewer 的其中一種選擇,
例如要求提升沙盒權限、存取遭封鎖的網路,或執行會產生副作用
且仍需核准的工具呼叫。沙盒內已允許的操作
會直接執行,無須額外審查。若要了解審查智慧體的生命週期、觸發類型、
拒絕的語意及組態詳細資訊,請參閱
自動審查。
各平台的詳細資訊收錄於其專屬文件中。若要了解原生 Windows 的設定、 行為與疑難排解,請參閱 Windows。若要了解管理員 要求,以及組織層級對沙盒與核准的限制,請參閱 代理核准與安全性。