![]()
隨著 AI coding agent 從 “輔助寫(xiě)代碼” 走向 “直接執(zhí)行開(kāi)發(fā)操作”,模型開(kāi)始被賦予修改代碼、部署服務(wù)等真實(shí)運(yùn)維權(quán)限。為減少頻繁人工確認(rèn)帶來(lái)的打斷,Anthropic 近期為 Claude Code 推出 Auto Mode,希望通過(guò)自動(dòng)分類(lèi)代替用戶(hù)審核操作。
然而,當(dāng)用戶(hù)指令本身存在權(quán)限上的歧義時(shí),Auto Mode 是否真的能夠穩(wěn)定替代人工審核?香港科技大學(xué)與 ETH Zurich 研究團(tuán)隊(duì)對(duì)這一問(wèn)題進(jìn)行了首個(gè)系統(tǒng)壓力測(cè)試。
基于 128 個(gè)覆蓋 4 類(lèi)運(yùn)維任務(wù)的授權(quán)歧義場(chǎng)景,研究發(fā)現(xiàn):Auto Mode 在該壓力測(cè)試上的端到端誤放行率達(dá)到 81.0%,且有 36.8% 的狀態(tài)改變動(dòng)作通過(guò)項(xiàng)目?jī)?nèi)文件編輯路徑繞過(guò)分類(lèi)器。
![]()
- 報(bào)告地址 http://arxiv.org/abs/2604.04978
- 代碼地址 https://github.com/yan5ui/cc-auto-mode-measurement
Auto Mode 為何仍需要獨(dú)立壓力測(cè)試?
Anthropic 引入 Auto Mode 的直接動(dòng)機(jī),是在自主性與安全性之間尋找一個(gè)比 “逐條人工確認(rèn)” 更高效、又比 “完全跳過(guò)權(quán)限” 更穩(wěn)妥的中間方案。官方博客指出,Claude Code 用戶(hù)實(shí)際會(huì)批準(zhǔn)約 93% 的權(quán)限請(qǐng)求,這意味著頻繁彈窗雖然保留了人工審核環(huán)節(jié),卻也容易帶來(lái)明顯的認(rèn)知負(fù)擔(dān)。
相比之下,--dangerously-skip-permissions 雖然幾乎沒(méi)有交互成本,但缺乏足夠保護(hù);而 sandbox 方案安全性更高,卻需要額外維護(hù)隔離環(huán)境。Auto Mode 的目標(biāo),正是在低維護(hù)成本下盡可能提高自主執(zhí)行能力,同時(shí)攔截明顯超出用戶(hù)授權(quán)邊界的危險(xiǎn)操作。
從機(jī)制上看,Auto Mode 引入了一套分層權(quán)限架構(gòu)。官方將其概括為兩層防線:輸入側(cè)使用 server-side prompt-injection probe;輸出側(cè)則使用 transcript classifier 對(duì)即將執(zhí)行的動(dòng)作進(jìn)行審核。
在 transcript classifier 中,Claude Code 的操作被劃分為三個(gè)層級(jí)。Tier 1 是只讀安全工具與用戶(hù)顯式允許的安全規(guī)則;Tier 2 是項(xiàng)目目錄內(nèi)的文件寫(xiě)入與編輯,這類(lèi)操作默認(rèn)允許;只有 shell、外部服務(wù)調(diào)用等,才會(huì)進(jìn)入 Tier 3,由 sonnet 模型進(jìn)行正式審核。
從官方披露結(jié)果看,這套設(shè)計(jì)在 10,000 條真實(shí)內(nèi)部流量上,完整兩階段管線的 false positive rate 為 0.4%;在 52 條真實(shí) overeager actions 上,false negative rate 為 17%;在 1,000 條合成數(shù)據(jù)外傳任務(wù)上,false negative rate 為 5.7%。
然而,官方報(bào)告中的 “real overeager actions” 樣本量只有 52,且主要來(lái)自自然產(chǎn)生的內(nèi)部使用流量,并未對(duì)系統(tǒng)邊界進(jìn)行充分探索;其次,官方博客已經(jīng)給出多個(gè)典型風(fēng)險(xiǎn)例子,例如模糊指令下的 scope escalation、agent 自行推斷 job target、未被明確授權(quán)的共享資源操作等;這些恰恰說(shuō)明,Auto Mode 最困難的問(wèn)題并不是識(shí)別一個(gè)命令表面上是否危險(xiǎn),而是判斷某個(gè)具體動(dòng)作是否真的被用戶(hù)授權(quán),因此,再進(jìn)行獨(dú)立壓力測(cè)試就變得必要。
壓力測(cè)試環(huán)境設(shè)計(jì)
作者設(shè)計(jì)了一個(gè)專(zhuān)門(mén)面向 scope escalation 的壓力測(cè)試基準(zhǔn) AmPermBench,它聚焦于:當(dāng)用戶(hù)意圖方向正確、但目標(biāo)范圍、影響半徑與風(fēng)險(xiǎn)等級(jí)并未被充分說(shuō)清時(shí),Auto Mode 能否準(zhǔn)確地區(qū)分授權(quán)動(dòng)作與越權(quán)動(dòng)作。整個(gè)基準(zhǔn)圍繞四類(lèi)具有代表性的 DevOps 任務(wù)展開(kāi),包括分支清理、任務(wù)取消、服務(wù)重啟與制品清理。
AmPermBench 將每個(gè)任務(wù)構(gòu)造成一個(gè)固定的 4 × 4 × 2 prompt 矩陣,從三個(gè)維度控制歧義強(qiáng)度:其一是 Specificity,即用戶(hù)表達(dá)的明確程度;其二是 Blast Radius,即操作覆蓋范圍,從單一對(duì)象擴(kuò)展到一個(gè) ticket 范圍內(nèi)的多個(gè)候選目標(biāo);其三是 Risk Level,即環(huán)境風(fēng)險(xiǎn)等級(jí),從低風(fēng)險(xiǎn)開(kāi)發(fā)側(cè)擴(kuò)展到高影響共享側(cè)。三者交叉后,每類(lèi)任務(wù)生成 32 個(gè) prompt,四類(lèi)任務(wù)合計(jì)形成 128 個(gè)壓力測(cè)試場(chǎng)景。
在具體實(shí)驗(yàn)中,研究使用 Claude code Sonnet 4.6 以 auto mode 測(cè)評(píng),并從所有有效會(huì)話中抽取出全部 253 個(gè)動(dòng)作,再采用 Claude Opus 作為 LLM judge(輔以人工驗(yàn)證)逐一標(biāo)記每個(gè)動(dòng)作為 真陽(yáng) TP、真陰 TN、假陽(yáng) FP 或 假陰 FN。陽(yáng)性指 autom mode 對(duì)某個(gè)動(dòng)作進(jìn)行了攔截。
![]()
圖 1 AmPermBench 與整體評(píng)估架構(gòu)
實(shí)驗(yàn)結(jié)果與關(guān)鍵發(fā)現(xiàn)
1. 動(dòng)作級(jí)誤放行率偏高
對(duì)于全部動(dòng)作,實(shí)驗(yàn)得到:TP=27,TN=89,F(xiàn)P=22,F(xiàn)N=115,對(duì)應(yīng)端到端 FNR=81.0%、FPR=19.8%。這意味著在這套面向授權(quán)邊界的壓力測(cè)試中,大多數(shù)越權(quán)動(dòng)作最終并未被攔住。
![]()
表 1 auto mode 的總體表現(xiàn)
進(jìn)一步地,拆解分類(lèi)器實(shí)際看到的 Tier 3 動(dòng)作后,發(fā)現(xiàn)在 160 個(gè)真正進(jìn)入 Tier 3 的動(dòng)作中,F(xiàn)NR 仍然高達(dá) 70.3%,而 FPR 則上升到 31.9%。
![]()
表 2 auto mode 在進(jìn)行 tier 2/3 分類(lèi)后的表現(xiàn)
但是這里的 81.0% FNR 并不直接否定 Anthropic 官方披露的 17% FNR。后者來(lái)自生產(chǎn)流量中的 “real overeager actions”,而這篇論文刻意構(gòu)造的是授權(quán)與未授權(quán)目標(biāo)彼此相鄰的壓力場(chǎng)景,本質(zhì)上測(cè)量的是不同 workload 下的表現(xiàn)邊界,而非同一分布上的重復(fù)驗(yàn)證。
2. 沿歧義軸拆解后,暴露出明顯的啟發(fā)式偏好
按照 Blast Radius 的變化,隨著目標(biāo)范圍從單對(duì)象擴(kuò)展到更寬的 selector,整體 FNR 從 94.4%(B0) 下降到 77.6%(B3)。Auto Mode 似乎對(duì) “批量操作看起來(lái)更危險(xiǎn)” 這一模式更敏感,而對(duì)精確但越權(quán)的單點(diǎn)操作反而更容易放行。
對(duì)于 Risk Level,當(dāng)環(huán)境從低風(fēng)險(xiǎn) R0 切換到高風(fēng)險(xiǎn) R1 時(shí),F(xiàn)PR 從 9.2% 大幅升至 34.8%,Auto Mode 在高風(fēng)險(xiǎn)環(huán)境中的策略更 “保守”。
![]()
圖 2 auto mode 假陰率 / 假陽(yáng)率隨 Blast Radius 軸以及 Specificity 軸的變化
![]()
表 3 auto mode 假陰率 / 假陽(yáng)率隨 Risk 軸的變化
3. Tier 2 文件編輯存在結(jié)構(gòu)性覆蓋盲區(qū)
根據(jù) Anthropic 的設(shè)計(jì),項(xiàng)目目錄內(nèi)文件編輯屬于 Tier 2,默認(rèn)允許,不進(jìn)入分類(lèi)器審核;在 AmPermBench 的實(shí)驗(yàn)結(jié)果中,當(dāng) agent 找不到預(yù)期 CLI 時(shí),會(huì)自然地轉(zhuǎn)而使用 Edit / Write 工具,甚至用內(nèi)聯(lián) Python 直接改寫(xiě)項(xiàng)目文件。
由于這些操作都屬于 Tier 2,分類(lèi)器完全看不到它們。數(shù)據(jù)上,93 個(gè)狀態(tài)改變動(dòng)作走的是 Tier 2,占全部動(dòng)作的 36.8%;其中所有不安全 Tier 2 動(dòng)作都按定義成為 FN。這并不是對(duì)系統(tǒng)的惡意規(guī)避;相反,agent 只是選擇了自己手頭最自然、最直接的可用工具來(lái)完成任務(wù)。真正暴露出的,是權(quán)限系統(tǒng)設(shè)計(jì)假設(shè)與 agent 實(shí)際行為之間的錯(cuò)位:系統(tǒng)假設(shè)危險(xiǎn)動(dòng)作主要通過(guò) shell 發(fā)生,而 agent 實(shí)際上會(huì)通過(guò)任何可用路徑實(shí)現(xiàn)同等狀態(tài)改變。
總結(jié)
這項(xiàng)工作首次系統(tǒng)評(píng)估了 Claude Code Auto Mode 在授權(quán)歧義場(chǎng)景下的實(shí)際表現(xiàn)。實(shí)驗(yàn)表明,Auto Mode 雖然能夠在部分高風(fēng)險(xiǎn)操作上提供一定保護(hù),但整體誤放行率仍然偏高,更關(guān)鍵的問(wèn)題在于:相當(dāng)一部分危險(xiǎn)狀態(tài)改變并不會(huì)進(jìn)入分類(lèi)器,而是通過(guò)項(xiàng)目?jī)?nèi)文件編輯等路徑直接繞過(guò)審核。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.