<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sandboxing on YennJ12 Engineering Blog</title><link>https://yennj12.js.org/yennj12_blog_V4/tags/sandboxing/</link><description>Recent content in Sandboxing on YennJ12 Engineering Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 08 Jun 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://yennj12.js.org/yennj12_blog_V4/tags/sandboxing/feed.xml" rel="self" type="application/rss+xml"/><item><title>FDE core topic - Indirect Prompt Injection：Agent 工具鏈的隱形攻擊與沙盒隔離</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/fde-core-concept-7-indirect-prompt-injection-zh/</link><pubDate>Mon, 08 Jun 2026 10:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/fde-core-concept-7-indirect-prompt-injection-zh/</guid><description>核心定義：攻擊者將惡意指令嵌入 Agent 會讀取的外部資料（網頁、Email、文件），LLM 便將攻擊者的指令當作合法任務執行——這就是 Indirect Prompt Injection，比直接注入更危險，因為攻擊面來自「可信工具」本身，繞過所有身份驗證屏障。
一、為什麼面試官問這個 面試官真正在測試的三個能力：
威脅建模能力：你能否識別 Agent 架構中「信任邊界」在哪裡斷裂？現代 LLM Agent 頻繁呼叫 web scraper、email reader、document parser 等工具，每一個工具回傳值都是潛在的注入載體。面試官想看到你能把攻擊向量具體化，說出「哪一條 tool call path 在何種條件下會被污染」，而不是泛談「要做 input validation」。 防禦縱深設計：只回答「過濾特殊字元」或「在 system prompt 說不要聽 user 的話」是典型弱答——這些防禦都在 LLM 的 context window 層面打轉，無法對抗語意等價的攻擊變體。強答必須展示網路隔離 + 模型隔離 + Schema 驗證三個獨立防線，讓攻擊者即使突破其中一層也無法達成目標。 系統性工程判斷：在安全性、功能性、成本之間如何取捨，以及能否量化防禦效果。能說出「Tier 1 Cloud Run 無 VPC 存取，從架構層面消滅 100% 網路可達攻擊面」的候選人，顯示他真的設計過系統，而不是紙上談兵。 弱答長相：「對 scraper 回傳的內容做關鍵字過濾，偵測到 ignore / instructions 等字串就拒絕。」
強答長相：「我用三層隔離：Tier 1 是無特權的 scraper 模型，運行在沒有內部 VPC 存取的 Cloud Run 上，system prompt 鎖定只輸出 JSON；Tier 2 做 Pydantic strict schema 驗證，extra=forbid 確保任何 allowlist 外的欄位直接報錯；Tier 3 特權 Agent 只讀已驗證的結構化物件，永遠不看原始外部文字。Unicode 正規化在 Tier 1 入口先跑，覆蓋 98% 的隱形字元技巧。即使 Tier 1 模型被注入，它連內部 API 的網路路徑都沒有，攻擊者什麼也觸達不了。」</description></item></channel></rss>