Latest

AuthN、AuthZ、Audit:後端最難的不是 CRUD,是把權限講清楚

AuthN、AuthZ、Audit:後端最難的不是 CRUD,是把權限講清楚

後端工程有個很不浪漫的事實:真正的大魔王通常不是效能,也不是資料庫,而是 3A: * AuthN(認證):你是誰 * AuthZ(授權):你能做什麼 * Auditing(審計):你做了什麼、何時做的、能不能追溯 只要這三個沒搞清楚,你的服務很容易就變成在網路上裸奔。 ## 為什麼「只靠 API Key」很常翻車 很多 API 為了方便,直接用一組 API key 當門票。 它的問題不是不好用,而是它的安全語義太弱: 1. 它通常代表的是「某個程式/某個 client」 你知道是某個 app 在呼叫,但你不知道背後是誰在操作。 2. 它是靜態憑證 外流一次就很麻煩: * 很難追到是誰拿走的 * 很難做到細粒度撤銷 * 也很難做行為歸因 3. 把權限切到每個使用者的 key
江中喬
AI Agent 越來越強,但你的 MCP 架構扛得住嗎?

AI Agent 越來越強,但你的 MCP 架構扛得住嗎?

最近看到 Google Cloud Tech 談 MCP(Model Context Protocol)安全的影片,裡面有一句話我很認同:當模型開始有「手腳」,你要治理的就不只是模型輸出,而是整個行動鏈。 https://www.youtube.com/watch?v=qGCdbAn0nk8 很多團隊把 MCP 當成「讓 LLM 連接外部工具的標準介面」。工程上它確實很漂亮:代理(Agent)負責決策,MCP Server 負責執行工具操作。但安全上,它等於把攻擊面從「文字」擴大成「能改你系統狀態的一連串動作」。 這篇我用實務角度整理 MCP 架構常見的四類風險,跟一套比較像工程的防線設計:縱深防禦(Defense in Depth)。 ## MCP 的核心風險:
江中喬
看完《AI Agents Fundamentals》後我更確定:PM 的戰場從介面轉向信任

看完《AI Agents Fundamentals》後我更確定:PM 的戰場從介面轉向信任

最近讀了 Tina Huang 的《AI Agents Fundamentals》整理,裡面有幾個觀察很值得 PM 反覆咀嚼。 https://www.youtube.com/watch?v=qU3fmidNbJE 我不想把它寫成「五點筆記」,而是想把它翻成一個更接地氣的問題: 當產品從「讓人操作」變成「讓 AI 代替人操作」,你還在設計什麼? 答案很可能不再是按鈕、流程與頁面,而是:工作流、決策與信任。 ## 1)循環勝過規模:產品價值會落在「自我修正」能力 很多人第一反應是追求更大的模型。 但在 agent 系統裡,真正能提升穩定度的,往往是「循環」: * 先做一版 * 自己檢查 * 根據錯誤修正 * 再輸出 這其實是把工程裡的
江中喬
「講清楚了,卻還是做錯」:需求溝通最常見的問題其實是知識的詛咒

「講清楚了,卻還是做錯」:需求溝通最常見的問題其實是知識的詛咒

你一定看過這種需求對話: * RD:「文件沒寫啊。」 * PM/使用者:「這不是理所當然嗎?」 兩邊都沒說謊。 真正的問題通常也不是能力,而是知識的詛咒(Curse of Knowledge):你越熟某個領域,就越容易把自己的背景知識當成「大家都知道」。 於是你自以為講清楚了,對方卻在另一套假設下把事情做完,最後變成重工與互相抱怨。 ## 需求不是「規則」,需求是「在真實情境下會發生的事」 很多需求文件一開始就想寫規則: * 這個功能應該要怎樣 * 這個流程必須要怎樣 * 這個欄位不可為空 問題是:規則背後藏著大量未寫出的假設。 而這些假設,往往就是錯誤的來源。 ## 解法:用例子把隱藏假設逼出來(Specification by Example) 實例化需求的思路很簡單: 不要先談抽象規則,先談「會發生的場景」。 把需求寫成三段: * Given:在什麼情境下(前置條件) * When:做了什麼操作(行為) * Then:會得到什麼結果(可驗收的輸出) 例子一攤開,
江中喬
人生沒有最佳解,只有收斂解:把自己當系統跑迭代

人生沒有最佳解,只有收斂解:把自己當系統跑迭代

「人生有沒有最佳解?」 如果你用工程師的腦子想這題,答案通常不好聽:在不確定性夠大的世界裡,最佳解多半不存在。 你能得到的,是一個經過測試、逐步收斂的解。 這不是悲觀,而是一種更務實的自由:你不需要在起跑前就把路徑想完,你只需要建立一個能持續迭代的系統。 ## 焦慮的來源:把人生當一次性考試 很多人的焦慮不是因為真的做不到,而是因為腦中有一個預設: * 我必須選到「正確的那條路」 * 一旦選錯就來不及 * 只要再多想一點就能找到完美方案 結果就是分析癱瘓。 你越想要一次到位,就越不敢開始。 ## 工程視角:腦袋裡的路線圖,都只是假設 當你設定目標,大腦會自動模擬出很多條路。 問題在於:那些路徑沒有經過環境測試。 它們不是計畫,它們是猜測。 在系統工程裡,你不會相信一個沒上線、沒跑負載、沒經過真實回饋的設計。 人生也一樣。 真正可靠的資料只有一種:把變數丟進市場或環境裡跑一次,看看回傳的數據是什麼。 ## 「一步登天」是錯的目標,「可複製的成功」才是 很多故事會讓人以為成功是瞬間爆發。 但你稍微把時間軸拉
江中喬
AI 信仰與資安失憶症:為什麼越理性的人,越容易在 Agent 上鬆手

AI 信仰與資安失憶症:為什麼越理性的人,越容易在 Agent 上鬆手

最近 AI Agent 工具爆紅,最有趣的現象不是功能,而是一種「集體失憶」。 幾年前我們還在教大家: * 不要亂點不明連結 * 看到怪信就刪 * 2FA 是底線 * 筆電相機孔要貼起來 * 電腦要裝防毒 結果現在突然變成: 「AI 可以全自動,好方便。」 「讓它自動開信、整理附件、爬網站、操作電腦、開鏡頭,沒問題吧?」 這轉變太快,快到很多平常很理性的人,開始呈現出一種近乎信仰的態度:只要有人提到風險,就像是在戳破他們對「強大 AI 助理」的想像。 ## 真正的矛盾:資安不是不知道,是選擇性忽略 我不相信今天談資安的人突然都不懂資安。 我更相信的是:當便利性足夠高,人類會自動把風險合理化。 * 「我只是開個 Gmail 給它看而已」 * 「它又不會亂寄信」 * 「它很聰明啦」 但你如果把句子裡的「AI」換成「陌生外包」或「
江中喬