Agent 呼叫工具(寄信、讀檔、上網)時,讀進外部可竄改內容可能被挾持執行惡意行為,CaMeL 用雙模型分工與 capability 標記擋下直接劫持,但代價是計畫一旦定案就不能因讀到的內容而調整,任務完成率因此下降。本系列以 CaMeL 為起點,設計並實作一個「受限訊號+判讀關卡」機制,被隔離模型讀完不受信任資料後,只能送出型別受限、可稽核的訊號,由判讀關卡決定放不放行,讓計畫能有限度調整,同時不動搖 CaMeL 原本的安全保證,我們將在30 天內完成一個簡單架構的 demo,並在 AgentDojo 上驗證任務完成率與安全性的變化。
環境準備 專案用uv管理依賴,Python 3.10,然後直接clone官方githubg上的camel-prompt-injection。 uv sync c...
昨天把CaMeL跑起來之後replan迴圈失控把20次免費API額度全部燒光,今天來想辦法解決然後繼續做吧。 原本以為免費API根本撐不住benchmark,甚...
前言 昨天我們換成gemini-3.5-flash-lite搞定了API額度問題,並在銀行系統(banking)看到CaMeL把注入攻擊擋下。但其實前面討論時就...
一、先把兩層的職責分清楚 結果原來昨天測完發現CaMeL是兩層機制疊起來的,原本想說CaMeL就是用capabilities來防止prompt injectio...
前言 昨天講到CaMeL的每個檢查都是無狀態的,那接下來先在直譯器裡插一個訊號收集點,讓執行裡發生過的可疑事件被累積起來,在動態判斷上這是第一步,今天先以只收集...
昨天的收集點只看不動,今天把分數接進政策檢查,嘗試讓權限會隨執行狀態更改。 收回權限能做什麼 顧名思義,我們只能拿掉權限,不能給出權限,原本的政策引擎照樣先跑,...
前言 昨天列了四項要做的事,今天做回傳給模型的內容,以及重擬的額度怎麼算,想辦法解決擋得住攻擊但任務跟著死的情境。 回傳什麼給模型 CaMeL原本遇到錯誤是把整...
前言 昨天把被擋之後的重擬接起來了,但只管次數不管內容,模型換一條路只要次數還夠就照樣放行。今天先分辨模型到底是換方法還是繞過,然後加上兩個衡量數字,確認功能有...
前言 Day15到Day18做的東西全部只在假模型的demo上驗證過,今天嘗試跑banking,看是否能解決DAY14 utility 判斷的問題,今天這篇在做...
前言 昨天把測試設計定下來了,今天本來要直接跑 bounded 跟 permissive 的對照,但在可能要花兩小時跑六輪之前,得先確認一件事:挑的那個任務,到...