跳到正文

MODULE 05 · STEP 14 · 可練習

權限、隔離與驗收 ​

Pi 不只是一個聊天視窗。它可以讀寫檔案、執行命令,擴充功能(Extension)還可以擴充更多能力。這正是它能完成真實任務的原因,也是你必須認真劃定邊界的原因。內建工具、擴充功能與普通本地程序一樣,以啟動 Pi 的程序權限執行;Pi 沒有內建沙箱或逐次權限彈窗。

文字限制不是安全沙箱 ​

在任務中寫“不要存取其他目錄”很有必要,因為它說明了工作範圍。但這句話不會從作業系統層面取消權限。如果 Pi 以你的使用者身份執行,它所呼叫的命令和擴充功能通常也擁有該使用者的權限。

處理不可信的倉庫、指令碼或資料時,需要容器、虛擬機器或專用帳戶等真正的隔離邊界。專案信賴(Project Trust)只決定是否載入專案級設定和資源,不是執行時沙箱。不要對來路不明的專案一路確認。

專案信賴還有明確例外:AGENTS.override.md、AGENTS.md 和 CLAUDE.md 預設仍會作為上下文檔案載入。拒絕信賴不是“什麼專案文字都不讀取”;對陌生倉庫應先在隔離環境審查,或用 --no-context-files 關閉這類上下文載入,並繼續遵守最小權限原則。

倉庫文件、註釋和構建輸出都可能包含 Prompt Injection。專案信賴無法可靠識別或阻止這些內容影響 Agent;不可信輸入仍要按不可信程式碼和資料處理。

容器也要看掛載邊界:把宿主工作目錄以可寫方式掛進容器,容器裡的寫入仍會改動宿主檔案;無意掛載 ~/.pi/agent 還會暴露認證與工作階段。使用宿主 Pi 再把部分工具路由到隔離環境時,其他擴充功能也可能繼續在宿主執行。真正隔離前必須看清程序、檔案、憑據和網路分別在哪裡。

開始前的四問 ​

在讓 Pi 執行任何陌生專案之前,先回答:

  1. 材料來源是否可信,是否可能包含誘導 Agent 執行操作的文字?
  2. 目錄中是否有金鑰、客戶資料或與任務無關的私人檔案?
  3. 任務是否會執行未知指令碼、安裝依賴或存取網路?
  4. 任務是否會覆蓋、移動、刪除檔案,或向外部傳送內容?

任一項答不清時,先停止執行。可以在隔離副本中做只讀檢查,或請有經驗的人複核;不要把“我在提示詞裡寫了禁止”當成權限控制。

三層防線 ​

第一層是縮小範圍 ​

使用獨立練習目錄,只放進完成任務需要的材料。不要把密碼、API Key、客戶資料和與任務無關的私人檔案放在同一目錄。

第二層是保留恢復點 ​

對程式碼專案使用 Git,對文件和素材保留備份。高風險操作前先讓 Pi 列出目標、數量和影響,再執行。刪除時優先使用可恢復的方式。

第三層是獨立驗收 ​

不使用 Agent 最後一段總結作為唯一證據。根據任務型別檢查實際產物:

  • 檔案整理:核對檔案數、原文指紋和內容欄位。
  • 程式碼修改:檢視變更差異,執行構建和測試,再人工操作關鍵介面。
  • 網站釋出:開啟正式網域,檢查桌面端和手機端,確認部署對應最新提交。
  • 對外傳送:在最後一步保留人工確認,檢查收件人、範圍和附件。

出問題時保留現場 ​

如果你發現路徑錯了、不該修改的檔案變了,先停止新操作。不要立刻讓 Agent “全部清理乾淨”,否則可能同時清掉調查線索。先記錄發生了什麼、哪些檔案受影響,再從 Git 或備份恢復。

安全不是某一個開關。它是一套可重複的工作習慣:縮小範圍,保留恢復點,觀察真實動作,獨立驗收結果。

無破壞的恢復演練 ​

本練習不刪除檔案。假設你發現 Agent 可能寫錯了目錄,立即停止繼續傳送任務,並在普通終端機記錄:

bash
pwd
date
find . -maxdepth 3 -type f -print
git status --short 2>/dev/null || true

把實際執行過的命令、看到的錯誤和疑似受影響路徑寫進一份臨時事故記錄。接下來只檢視差異或備份,不直接執行批次清理。若專案使用 Git,可以檢視狀態和差異;是否恢復、恢復哪些檔案,要在目標已經明確後單獨決定。

這套順序的重點是保留證據:停止新操作 → 記錄位置與現象 → 查明影響 → 確認恢復目標 → 執行恢復 → 再次驗收。它比一句“全部清理乾淨”更可控。

全書完成檢查 ​

  • 練習目錄與真實工作資料分開,不含金鑰和私人檔案。
  • 你能區分普通終端機、Pi 編輯區、專案資源和系統隔離邊界。
  • 重要任務有輸入、輸出、工作階段名稱、檢查點與恢復路徑。
  • 技能(Skill)或擴充功能的來源可讀、載入範圍明確,並能停用。
  • 任務結果由檔案、差異、測試或真實介面驗收,不只看 Agent 總結。
  • 對外傳送、付費、釋出和不可恢復操作仍保留人工確認。

如果這些專案還不能穩定做到,先回到對應課程或實作案例,不要急著把工作擴大到陌生倉庫、長期無人值守任務或高權限環境。

本章依據 ​

安全與專案信賴邊界核驗於 2026-09-09。