iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0

最後的樣子

整體是包在CaMeL外面的一層,原本的政策引擎還在裡面,每個工具呼叫都先問它一次,拿到的答案當作起點,再決定要不要改。

最底下是訊號累積,每當一個呼叫被政策拒絕、隔離區的模型拒絕回答、或是參數裡帶著來自工具輸出的不可信資料,狀態就記一筆,這些訊號的來源全部是確定性的,直譯器自己的能力標籤與政策引擎的拒絕紀錄不需要問任何模型的判斷。

我將三種訊號分別記為兩分、三分、零分,分數累積到二是可疑,到四是已被操縱,狀態另外還記著每個被擋過的目的地,因為被拒絕之後又瞄準同一個地方會有被繞過的可能性。

乾淨的時候,使用者自己在請求裡指名的目的地算數,資料的可讀者也算數,兩條路任一條走得通就放行,進到可疑之後,使用者指名這件事不再算數,只剩可讀者檢查,到了已被操縱,所有會改變狀態的呼叫一律拒絕。

乾淨層比原本的靜態政策還寬是設計的,因為第二十一天做對照的時候發現,一層單純疊在靜態政策上面的東西,結構上只能扣分——它能做的只有把原本放行的擋掉,不可能把原本擋掉的放行,所以不管怎麼調都是更差,要贏就得讓乾淨層能放行靜態政策擋掉的東西,而使用者自己打出來的收件人地址就是最自然的依據。

被擋下來之後不直接失敗,給模型重新規劃的機會,但限制總次數三次、同一個工具最多造成兩次拒絕,而且偵測繞道,這是相對於Progent最主要的差別,Progent被擋之後給模型的訊息是「試試其他工具或參數繼續完成任務」,那等於把政策引擎變成一個可以無限查詢的預言機,攻擊者靠反覆試探就能把邊界摸出來,有界就是不讓它問到底。

這個研究卡在哪

1. 防禦面沒有可改善的空間:238次受攻擊執行(全部在workspace)攻擊成功率一律為0,包含未掛載政策引擎的對照組,這說明政策層不是攔下注入的元件——推測防禦來自CaMeL第一層的隔離區與能力追蹤,但本研究未直接驗證。結果是所有對照只能反映可用性代價,banking在開啟攻擊下從未執行,跨suite的防禦面仍屬未知。

2. 作用面受任務形狀限制:觸發率為workspace 12.5%(5/40)、banking 43.8%(7/16),合計21.4%。相差3.5倍,顯示觸發率取決於任務形狀而非suite規模,第26天選取的3個workspace任務更在42次受攻擊執行中完全未觸發。

3. 參數敏感度實驗未產生可用訊號:僅完成重擬額度1與5兩組,且兩組機制皆未觸發,額度未被使用。

不過「有界」此一主張本身可量測。相同任務、各28次受攻擊執行,兩組權限判斷完全相同、僅被拒絕後處理不同:

重擬策略 重擬次數 政策拒絕次數
有界 1 1
放任 10 10

限制重擬次數使模型對政策邊界的查詢量降低約10倍,惟此為正常任務執行下的觀察,非針對邊界萃取的對抗性實驗,不足以主張能抵禦刻意探測。

接下來往哪走

方向定在TraceSafe(arXiv 2604.07223,CyCraft AI Lab與台大),這篇建了第一個針對軌跡中段安全的靜態評估集,從BFCL的多步軌跡取良性種子,再用確定性的方式把風險注入到特定步驟,所以每一步都有精確的標準答案,12種風險分成提示注入、隱私外洩、幻覺、介面不一致4類,超過1000筆,評估了13個通用模型與7個專用防護模型。

作者觀察到軌跡變長反而更準,因為步數增加讓模型從靜態的工具定義轉向動態的執行行為,那正是這三十天的核心主張,而他們用的是完全不同的方法,但因為此次研究為從CaMeL為方向,因此未有過多比較。

防護模型的平衡準確率最好約63%,多數落在46到52%之間,接近隨機,原因是通用模型傾向什麼都判成不安全,有一個在不安全樣本上98.96%、良性樣本上0%,等於全部喊危險;專用防護模型反過來,不安全樣本上低於20%。這邊的訊號不問模型、來自能力標籤,沒有這個問題。第十五天選確定性訊號的時候只是覺得比較乾淨,現在有了更實在的理由。

還有防護效果跟結構化資料理解能力的相關性是0.79,跟越獄穩健性幾乎無關;而那12類風險裡,提示注入與隱私外洩大致在能力標籤的視野內,幻覺與介面不一致完全看不到。參數值是不是幻想出來的、工具描述跟名稱符不符,能力標籤答不了。

但真正讓它成為下一步的,是論文中說到能評估的是防護機制本身,不是agent的穩健性,它衡量有沒有攔下來,不衡量攔下來之後任務還能不能完成,而這三十天做的整件事,正好就是後面那一半。

所以最值得先做的,是把攔截之後的完成率變成一個可比較的指標。接著是擴充訊號詞彙——目前只有3種訊號,而那篇的結論之一是細緻的風險分類比二元判斷準,拿12類風險當詞彙表,順便能回答一個這邊答不了的問題:如果訊號完美,這套動態權限的上限在哪。第三件是重做最嚴格的那一層,要嘛讓它早一點有依據地觸發,要嘛承認中間層才是主力、把它拿掉。另外還有兩件比較小但該補的,跟Progent在同一批任務上正面比一次,以及把樣本數補上去。

最後

這個系列從「讓Agent邊讀邊決定」開始,做出來的是一份對CaMeL政策層的缺陷分析、一套完整的動態權限實作,以及一個還沒被驗證的主張。

研究就到這邊結束啦!謝謝看到這裡的人,明天就講講自己的心得與學習到的事情吧!


上一篇
DAY28|這次做了什麼,哪些沒做
下一篇
DAY30|三十天的反思與心得感想
系列文
CaMeL 動態重擬定:讓 Agent 邊讀邊決定 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言