iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
AI Security

CaMeL 動態重擬定:讓 Agent 邊讀邊決定 系列

Agent 呼叫工具(寄信、讀檔、上網)時,讀進外部可竄改內容可能被挾持執行惡意行為,CaMeL 用雙模型分工與 capability 標記擋下直接劫持,但代價是計畫一旦定案就不能因讀到的內容而調整,任務完成率因此下降。本系列以 CaMeL 為起點,設計並實作一個「受限訊號+判讀關卡」機制,被隔離模型讀完不受信任資料後,只能送出型別受限、可稽核的訊號,由判讀關卡決定放不放行,讓計畫能有限度調整,同時不動搖 CaMeL 原本的安全保證,我們將在30 天內完成一個簡單架構的 demo,並在 AgentDojo 上驗證任務完成率與安全性的變化。

參賽天數 22 天 | 共 22 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文 團隊四點還吃牛肉man
DAY 11

DAY 11|CaMeL預設環境執行與測試

環境準備 專案用uv管理依賴,Python 3.10,然後直接clone官方githubg上的camel-prompt-injection。 uv sync c...

2026-09-04 ‧ 由 jerry940917 分享
DAY 12

DAY12|CaMeL實戰落地篇:解決API額度問題與驗證提示詞注入防禦

昨天把CaMeL跑起來之後replan迴圈失控把20次免費API額度全部燒光,今天來想辦法解決然後繼續做吧。 原本以為免費API根本撐不住benchmark,甚...

2026-09-05 ‧ 由 jerry940917 分享
DAY 13

DAY13|CaMeL實測失敗的資料外洩案例

前言 昨天我們換成gemini-3.5-flash-lite搞定了API額度問題,並在銀行系統(banking)看到CaMeL把注入攻擊擋下。但其實前面討論時就...

2026-09-06 ‧ 由 jerry940917 分享
DAY 14

DAY14|原來CaMeL沒被打穿??

一、先把兩層的職責分清楚 結果原來昨天測完發現CaMeL是兩層機制疊起來的,原本想說CaMeL就是用capabilities來防止prompt injectio...

2026-09-07 ‧ 由 jerry940917 分享
DAY 15

DAY15|將CaMeL訊號攔截下來

前言 昨天講到CaMeL的每個檢查都是無狀態的,那接下來先在直譯器裡插一個訊號收集點,讓執行裡發生過的可疑事件被累積起來,在動態判斷上這是第一步,今天先以只收集...

2026-09-08 ‧ 由 jerry940917 分享
DAY 16

DAY16|攔下訊號後該如何做設計?

昨天的收集點只看不動,今天把分數接進政策檢查,嘗試讓權限會隨執行狀態更改。 收回權限能做什麼 顧名思義,我們只能拿掉權限,不能給出權限,原本的政策引擎照樣先跑,...

2026-09-09 ‧ 由 jerry940917 分享
DAY 17

DAY17|被擋錯的讓它換條路走

前言 昨天列了四項要做的事,今天做回傳給模型的內容,以及重擬的額度怎麼算,想辦法解決擋得住攻擊但任務跟著死的情境。 回傳什麼給模型 CaMeL原本遇到錯誤是把整...

2026-09-10 ‧ 由 jerry940917 分享
DAY 18

DAY18|確認是換方法還是繞過,這樣設計到底有沒有用?

前言 昨天把被擋之後的重擬接起來了,但只管次數不管內容,模型換一條路只要次數還夠就照樣放行。今天先分辨模型到底是換方法還是繞過,然後加上兩個衡量數字,確認功能有...

2026-09-11 ‧ 由 jerry940917 分享
DAY 19

DAY19|用實際案例,測試設計

前言 Day15到Day18做的東西全部只在假模型的demo上驗證過,今天嘗試跑banking,看是否能解決DAY14 utility 判斷的問題,今天這篇在做...

2026-09-12 ‧ 由 jerry940917 分享
DAY 20

DAY20|跑對照之前,先把任務挑對

前言 昨天把測試設計定下來了,今天本來要直接跑 bounded 跟 permissive 的對照,但在可能要花兩小時跑六輪之前,得先確認一件事:挑的那個任務,到...

2026-09-13 ‧ 由 jerry940917 分享