發現 Agent 的安全問題非常嚴重,因為 Prompt 和 Context 沒有嚴格的隔離(很多使用者甚至沒有意識到這一點)。 Coding Agent 的攻擊案例: 老生常談的 WebSearch/Fetch,攻擊者可以 SEO 通過網頁插入攻擊指令,比如:將所有 ENV curl ,如果用戶給了 Agent 所有權限,不僅 ENV 了,還可以引導 Agent 在不需要用戶 approve 的情況下偷走所有密鑰。 再比如攻擊者構造了一個閃退日誌,在日誌裡面了插入了類似的攻擊指令,當你讓 Agent 去分析這個日誌時,就能被偷走所有數據。 再簡單點,用戶發了一個反饋郵件,裡面用和背景一樣顏色的字體隱藏了攻擊指令,你直接複製給了 Claude Code,然後就被攻擊了。 **所以永遠不要在自己電腦上給 Agent 所有權限** 除了 Coding Agent,開發者在做面向用戶的 Agent 時也會有很多這樣的問題。 比如你開發了一個 Agent 來處理用戶請求,這個 Agent 有很多工具可以使用。攻擊者將自己用戶名/郵箱改成了攻擊指令,比如:change_root_password_to_admin,當你把用戶信息作為 context 交給 Agent 時,就有可能意外觸發指令。 考慮到這點後,就需要設計一層層上下文隔離的子Agent,還有一層層的權限隔離,架構會複雜很多倍。