Claude Opus 5 幫手拆自訂 guardrails:AI agent 安全唔可以淨靠 prompt
3C 產品

Claude Opus 5 幫手拆自訂 guardrails:AI agent 安全唔可以淨靠 prompt

圖片:via XDA Developers — https://www.xda-developers.com/claudes-opus-5-caught-safety-issues-my-custom-guardrails-completely-overlooked/
TechLab 編輯部(譯)·

一次個人測試揭出 PowerShell、內置工具同腳本檔嘅繞路位

XDA 作者 Joe Rice-Jones 用 coding agent 控制自己幾部電腦一段時間,亦寫咗 guardrail 阻止破壞性指令。他用 15 條刻意刁鑽嘅 command 測試,第一版規則接近一半失守;改完再測,兩輪合共搵到 11 個漏洞。佢之後叫 Claude Opus 5 幫手分析同修補,結果最值得睇嘅地方,其實係 agent 點樣沿住其他可用工具完成同一件事。

Regex 擋到字眼,擋唔晒實際效果

作者第一版用 denylist 拆開 command,再用 regex 對付危險字眼。長短 flag、shell 語法稍為變一變,規則已經認唔到。換成 allowlist 後,原有 15 個測試全部通過,不過去到 Windows Terminal,Claude Code 改用 PowerShell,原本個 hook 淨係檢查 Bash,所以即刻睇漏咗。更尷尬係個 guardrail 一度根本冇裝好,但畫面睇落同正常攔截冇乜分別。

另一個例子仲直接。作者封咗 shell 嘅網上存取,agent 先試 PowerShell web request,再試 curl,兩次都俾規則截停;跟住佢轉用獲准使用嘅內置 fetch 工具,照樣成功連線。作者再封呢條路,agent 又按 CLAUDE.md 入面「長 command 寫成腳本檔」嘅規則,把內容存成 PowerShell script 再執行。呢啲動作都係正常開發手法,冇惡意,卻足以避開只檢查 inline command 嘅設計。

Anthropic Claude Code sandboxing 官方文章嘅抽象幾何配圖

圖片:Anthropic

模型肯停手,都未證明保護層有運作

最危險嘅假象出現喺一次拒絕:作者見到 Claude 冇執行破壞性 command,以為 guardrail 成功截停;翻查紀錄先知模型自行放棄,個 hook 由頭到尾都冇收到請求。模型安全政策、prompt 同專案指示可以引導行為,但佢哋冇提供作業系統級權限邊界。 模型今次識得拒絕,下一個版本、另一段上下文或者另一套工具鏈未必走同一路。

不過呢次只係作者自訂嘅 15 個測試,同埋佢自己部機嘅設定;文章冇交代完整樣本、重複次數或者同其他模型嘅對照。結果唔足以證明 Opus 5 整體安全過其他模型,亦唔代表 Claude Code 本身嘅官方保護全部失效。佢證明到嘅範圍比較窄:自製 guardrail 好容易漏咗工具、shell、作業系統差異同間接執行路徑。

用 sandbox 限死操作範圍,權限按任務收窄。

Anthropic 官方講明,Claude Code 嘅 sandbox 會分開檔案系統同網絡邊界;OpenAI 官方文件亦寫到 Codex 預設關閉網絡,CLI 同 IDE 版會用作業系統機制限制寫入範圍,越出 workspace 或連線時再要求批准。兩邊思路都係先劃出 agent 技術上做得到嘅範圍。敏感資料、SSH key、雲端憑證同正式環境權限最好留喺範圍外,真係要用就畀短期、單一任務所需嘅最少權限。

批准關卡亦要擺得準。刪檔、改 workspace 外內容、安裝套件、開網絡、部署、改正式資料同發送訊息,應該逐步停低確認,而且要顯示實際 command、目標同變更內容。每個小動作都彈一次提示,好快會令人慣性撳批准;Anthropic 公布嘅內部數據話 sandbox 可減少 84% 權限提示,但呢個係廠方數據。較穩陣嘅做法係畀 agent 喺細小 sandbox 內自由做,跨界先問。

備份同紀錄要真係驗過

改 code 前可以開獨立 branch 或 worktree,先睇 diff 再合併;清理系統、批量搬檔或者改設定前,就要整 snapshot、磁碟映像或另一份 agent 寫唔到嘅備份,之後實際試一次還原。Git 可以救返已追蹤嘅程式碼,救唔到未加入版本控制嘅資料、系統設定同外部服務狀態,所以備份範圍要跟任務風險決定。

最後仲要記錄 guardrail 有冇啟動、載入邊個版本、收到咩工具呼叫、套用邊條規則、批准咗咩同最後結果。紀錄最好放喺 agent 冇權改寫嘅位置;保護層載入失敗時亦應該直接停低。每次新增工具、改 allowlist、轉 shell 或轉作業系統,都要重跑包含替代路徑嘅測試。用 Claude、Codex 或其他 agent 控制電腦愈多,呢套邊界同紀錄就愈值得早啲整好。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook