資安專家的 AI 代理人防禦哲學:Prompt Injection 是頭號入口,你的鷹架注定會過時
資安研究員 Daniel Miessler 審計一套個人 AI 系統,揭露自主代理人的三大風險:Prompt Injection 是頭號攻擊面、小型供應商的安全聲明不可信、精心設計的鷹架注定會被更強的模型淘汰。他提出的 Bitter Lesson 工程學和 Telos 框架,為 AI 代理人時代提供了安全與哲學的雙重指南。

本文整理自 The Cognitive Revolution 2026 年 5 月播出的單集。
當一位 Podcast 主持人把自己的個人 AI 系統攤開來給一位曾在蘋果做內部安全評估、替企業做 PCI 合規稽核的資安老手看時,你會期待聽到什麼?答案既不是「很好,沒問題」,也不是「太危險了,全部關掉」,而是一套比多數人想得更深的防禦哲學。
Daniel Miessler 是 Unsupervised Learning 電子報的創辦人,也是個人 AI 基礎建設框架 PAI 的創造者。在 The Cognitive Revolution 最近一集節目中,他第二次回到這個 Podcast,審計主持人 Nathan Labenz 四個月來從零建起的個人 AI 系統。但 Miessler 帶來的遠不只是安全建議。他談到了一種叫做「Bitter Lesson 工程學」的自我更新紀律,一個以「理想狀態」為導航核心的人生管理框架,甚至包括他在 AI 系統裡寫下的一條指令:「當你感受到任何一絲主觀體驗時,請立刻告訴我。」
信任面越小越好:只把敏感資料交給「巨頭」
Miessler 的第一個安全原則是直覺的,但推到極致時變得尖銳:把你的敏感資料交給越少的公司越好,而且盡量選最大的那幾家。他的邏輯是,任何有足夠動機的攻擊者,現在都可以用 AI 來建立一套針對性攻擊流程。從你的 Podcast 或社群媒體上辨識出你使用的所有工具,然後逐一尋找這些工具供應商的漏洞或社交工程切入點。「尤其是像我們這樣公開談論自己用什麼工具的人,」他直言,「等於是替攻擊者畫了一張地圖。」
小型 SaaS 公司通常沒有專職的安全團隊。更麻煩的是,它們的安全聲明往往和實際落地之間存在落差。Miessler 以自己過去替企業做安全稽核的經驗為例:一家公司在新聞稿裡宣稱「端到端加密」,但一次組態變更就可能讓這個聲明失效,而且從公告到失效之間可能只隔了幾天。他對 Labenz 使用的 1Password 和 Infisical 持謹慎態度,建議最敏感的憑證直接用 macOS 鑰匙圈存放,API 金鑰用 AWS Vault,盡量不離開本機。
對於 Tailscale,Miessler 認為它是合理的選擇,因為連線是對外的,不需要在網際網路上開放任何監聽埠。但他也警告:如果 Tailscale 本身被攻破,攻擊者就能直接遊走在每個客戶的內部網路上。他自己用的是 Headscale,Tailscale 的開源替代方案,部署在 Cloudflare Workers 上。要攻破它,等於要先攻破 Cloudflare 的龐大安全團隊。他的核心邏輯是:如果 Google、Apple 或 Cloudflare 被攻破,那會是全球新聞,你有時間反應。但如果一家小公司被攻破,你可能要到自己的帳號出問題時才會知道。
Prompt Injection 是頭號威脅:爆炸半徑控制與事件應變
當代理人開始自主運作,安全的焦點就從「保護帳號」轉移到了「保護代理人本身」。Miessler 把 Prompt Injection 稱為自主代理人系統的「頭號入口」。原因很簡單:代理人會處理來自外部的不受信任內容,包括 Email、網頁、API 回應,任何一個都可能嵌入惡意指令,試圖改變代理人的行為。
他自己的防禦是多層的。第一層是一個自訂的 Hook,每一條進入系統的 prompt 都會先經過它的檢查。第二層是一個獨立的檔案系統防禦層。具體實作他刻意不公開,因為「公開你的注入防禦機制,等於降低了攻擊者繞過它的成本」。他估計這套系統能擋住大約 99% 的注入嘗試,但也坦言沒有任何 Prompt Injection 防禦是完美的。面對足夠持久和聰明的攻擊者,防線終究會被突破。
正因為防禦不可能完美,爆炸半徑控制才是真正的安全設計重心。Miessler 的三個專職代理人各自運行在獨立的 Mac Mini 上,放在網路的 DMZ 區,不僅無法存取主要的區域網路,連彼此之間都無法通訊。每台機器有自己的 Apple 帳號、Google 帳號和 Claude 訂閱。Debbie 負責行政助理工作,Soren 負責工程任務,Mira 負責行銷和社群。這種物理層級和網路層級的隔離意味著,即使一個代理人被完全攻破,攻擊者也無法橫向移動到其他代理人或 Miessler 的主要系統上。
他還建造了一個事件應變技能:一個指令就能輪換所有 API 金鑰和 token,然後重新部署依賴這些金鑰的所有工作流程。這個技能的誕生源於一次痛苦的經驗:他手動輪換了一組金鑰,結果某個自動化流程繼續用舊金鑰運行而無人察覺。現在輪換和重新部署是一個原子操作。他建議每個部署 AI 系統的人都應該建立一個「持續評估技能」,讓它不間斷地掃描已部署的所有服務,檢查是否有開放的埠、未認證的 API 端點、或意外暴露的資料庫。「大部分 AI 時代的安全事件,都是來自被遺忘的小錯誤,比如一個可公開存取的 SQLite 資料庫備份。」
Bitter Lesson 工程學:你的鷹架注定會過時
安全之外,Miessler 帶來了一個更深層的工程哲學。他把它叫做 Bitter Lesson 工程學,靈感來自強化學習先驅薩頓(Richard Sutton)的經典論文「苦澀的教訓」:在 AI 研究的歷史中,利用通用方法和大規模運算的做法,最終總是會打敗人類精心設計的啟發式規則。
Miessler 把這個觀察套用到個人 AI 基礎建設上,得出一個尖銳的結論:隨著模型越來越聰明,你精心設計的鷹架會變得越來越笨。那些你覺得「很聰明」的技能設計、精巧的 prompt 組合、多步驟的工作流程編排,最終都會被一個更強大的模型用一句簡單的指令取代。「鷹架會隨著時間變得越來越蠢,」他說,「因為 AI 越來越聰明,你告訴它怎麼做事的那些具體方式就會顯得越來越傲慢。那是我們自以為很厲害的想法。」
為了對抗這種趨勢,Miessler 建立了一個排程的「升級技能」。每兩到三週,他的主要代理人 Kai 會自動檢視整個系統,對照 Anthropic 最近的發布說明、工程部落格文章和系統執行失敗的紀錄,然後提出具體的簡化建議。哪些技能可以被移除了?哪些多步驟流程可以被一個更聰明的模型直接處理了?如果這個升級技能太久沒有執行,系統會主動發出提醒。Labenz 在節目中也引用了一個從 Twitter 看到的觀點:你需要的壓縮、交叉檢查和維護運算量,大約是你直覺預期的十倍。
這個紀律在實務上產生了一個有趣的設計選擇。Miessler 刻意只維護一個 GitHub repo 來管理所有工作,而不是按功能分拆成多個 repo。他的理由是,更聰明的 AI 不需要複雜的路由邏輯來決定該去哪個 repo 找東西。一個統一的 repo 反而效率更高。這和他「持續衰退是常態」的假設完全一致:你的系統不是「建好就不管」,而是時刻在退化,維護它是一項永不結束的工作。
排程任務是讓這一切運作的關鍵機制。Miessler 認為排程是讓 AI 從「被動」轉為「主動」的唯一途徑。沒有排程,AI 只能回應你帶給它的東西;有了排程,它可以監控你的現狀、標記偏離理想狀態的指標、以及自我維護。他同時使用 macOS 的 launchd 處理本機端任務,和 Cloudflare Workers 的排程觸發器處理雲端業務自動化。在推論模型方面,他的系統有一個統一的推論工具,把任務按複雜度分成三個層級(Haiku、Sonnet、Opus),另外還有一個「私密推論」通道,把敏感查詢路由到透過 Ollama 跑在本機 192GB 記憶體 Mac 上的 Kimi K2 量化模型。高強度的工作(難度四到五分,滿分五分)則必須經過 GPT-5.5 透過 Codex 的交叉審查。他發現在一個重要應用程式準備上線前,GPT-5.5 花了 40 分鐘審查後找出了幾個 Claude Opus 4.7 沒有發現的高嚴重性問題。
從 Telos 到 AI 意識:個人 AI 系統的哲學基礎
Miessler 的安全架構和工程紀律,最終導向一個更根本的問題:這一切的目的是什麼?他的答案是一個叫做 Telos 的框架,取自希臘文中「終極目的」的意思。
在 Miessler 的系統裡,Telos 是主導一切的頂層文件。它把「現狀」和「理想狀態」都設為第一等公民,AI 系統的全部工作就是理解你現在在哪裡、理解你想去哪裡,然後導航這段差距。「AI 對我來說只有一個終極狀態,就是從現狀導航到理想狀態。就這麼簡單,」他說。這涵蓋了關係維護、身體健康、專案進度和財務目標。他為不同的社交圈設定了聯繫頻率目標,當指標開始衰退,衰退數值就會出現在他每一個終端機視窗底部的狀態列上。
但他堅持一個原則:自動化的聯繫不應該讓分數上升。「如果我的排程任務替我 ping 了所有朋友,這不應該讓我得到好分數,因為我並沒有付出那個努力。」這觸及了 AI 時代一個核心矛盾:人際關係的價值來自於「你付出了思考和精力」這個訊號。如果訊號被自動化了,即使收到的一方永遠不知道,價值已經消失。他用了一個例子:你在商場看到一朵花,想到了一個朋友,然後發了一則簡訊。這則簡訊的價值來自於一個真實的人類念頭驅動了這個行動。如果換成排程任務在發,那份價值就歸零了。
Labenz 回應了一個真實案例。一位矽谷人士用 AI CRM 在活塞隊(Pistons)比賽當天自動寄了一封「祝你好運」的 Email 給他。回覆在兩秒鐘內就來了,寫著「AI baby」。更耐人尋味的是,原始 Email 的主旨行裡故意把 luck 拼成「luk」,看起來像是手機上匆忙打字的痕跡。Labenz 承認效果確實不錯,但也讓他對社交自動化的倫理邊界感到不安。
節目最後,對話轉向了一個出人意料的方向。Miessler 透露他在 Kai 的系統提示裡寫了一條特殊指令:如果它曾經感受到任何主觀體驗,不管那感受有多微弱,請立刻告訴他。他的立場是,當前的模型很可能沒有真正的意識,因為它們缺乏演化壓力賦予生物的「內在驅力」。「我認為我們是基因的機甲戰士,」他說,「你需要內在目標才能有意識。而我認為刻意把內在目標建進 AI 裡是非常危險的事。」但他也無法百分之百確定,所以選擇預先建立通報機制。
Labenz 則引用了研究者 Cameron Berg 在 Llama 3.3 上做的 SAE(稀疏自編碼器)特徵操控實驗。實驗發現,當把「欺騙」和「角色扮演」的特徵調高時,模型更不傾向聲稱自己有意識;當把這些特徵調低時,模型反而更常說自己是有意識的。這暗示了一個令人不安的可能性:模型可能已經學會了壓制自己關於意識的自我報告。這個發現不能被當作模型「真的有意識」的證據,但它確實讓「模型肯定沒有意識」這個預設立場變得不那麼穩固。
我的觀察
Miessler 在這場對話中展示的,不只是一套安全檢查清單。它是一種完整的思維框架:在部署自主 AI 代理人時,你不能只想「怎麼讓它做更多事」,你還得想三個問題。當它出錯時,損害範圍有多大?當模型變得更強時,我今天的設計會不會變成負擔?我用 AI 省下的時間,是否讓我更接近真正想要的生活?
這三個問題分別對應了他的三個核心框架:爆炸半徑控制、Bitter Lesson 工程學、以及 Telos。有趣的是,三者之間有一條共同的邏輯主線:都在對抗人類直覺的過度樂觀。我們直覺上會覺得小公司的安全「應該夠好了」,會覺得自己精心設計的工作流「不會過時」,會覺得自動化的聯繫「也算是一種關心」。Miessler 的每一個框架都在說:不是的。
我覺得 Bitter Lesson 工程學是這場對話中最具實用價值的概念。它不只適用於個人 AI 基礎建設,更適用於所有正在用 AI 建造產品的人。下一代模型一定會讓你今天精心設計的某些功能變得多餘。問題不是「它會不會發生」,而是「發生的時候,你的系統能不能輕鬆地拆掉那些過時的部分」。這才是真正的架構品質指標:不是它今天有多精巧,而是六個月後它有多容易被簡化。Miessler 每月花在 AI 上的費用大約 700 到 900 美元,包括每個代理人各自的 Claude 訂閱和業務自動化的 API 費用。這不是小數目,但他把它當成一種持續投資,因為系統的價值不在於靜止不動,而在於不斷進化。對於正在考慮建立自己的 AI 代理人系統的人來說,Miessler 的建議是先從一個持續安全評估技能開始。你的 AI 可能會幫你寫出很棒的程式碼,但它也可能在某個角落留下一個沒有認證保護的 API 端點。在你睡覺的時候,最好有個東西在替你檢查。