Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin CryptoTax DeFAI Chain SAFU AGI Claude Me Claude Skill Claude Design Claude Cowork
獨立知識媒體
與任何項目無關聯
DeFi × AI 融合賽道深度分析:Agent 自動化策略、項目解剖與風險識別
defai-bible.com
最新
「我們用了帳戶抽象化」——這句話本身,其實什麼都沒告訴你  ·  「我們有保險基金」——聽起來很安心,直到你真的查了細節  ·  Agent 模擬顯示安全,結果市場動了——這幾秒鐘之間到底發生了什麼  ·  問一個問題,看穿你的 Agent 面對意外時的真實個性  ·  沒有任何用戶損失一毛錢的跨鏈橋事故,反而是最值得看懂的一課  ·  你的策略賺錢了,但你知道它是靠什麼賺的嗎?
名詞解析 · agent-permissions

Allowlist vs. Denylist Permission Design

白名單制 vs 黑名單制授權設計
agent-permissions intermediate

30 秒版 · 給沒耐心的人
授權一個 Agent 時,本質上存在兩種完全相反的設計哲學:白名單制是預設「什麼都不能做」,只有被明確列出的動作才被允許執行;黑名單制是預設「什麼都能做」,只有被明確列出的動作才被禁止,這兩種設計在面對「一個從未被考慮過的新情境」時,會產生完全相反的結果,是決定一個授權系統實際安全邊界的根本性設計選擇。
完整解說 +
01 · 這是什麼?

白名單制 vs 黑名單制授權設計是什麼,跟本系列前面談過的最小權限範圍有什麼不同?

本系列前面談過的最小權限範圍,處理的是「授權範圍應該設定得多窄」這個程度問題——不管是白名單制還是黑名單制,都可以搭配「範圍設得很窄」或「範圍設得很寬」的具體參數。白名單制 vs 黑名單制談的是更根本的架構問題:面對一個當初設計授權規則時完全沒有被考慮到的全新情境,這套系統的預設反應是「拒絕」還是「允許」。

這代表最小權限範圍是「在已知的授權範圍裡,怎麼設定得更精確」,白名單制 vs 黑名單制則是「面對未知的情境,這套系統的預設立場是什麼」——後者處理的是更根本的架構安全問題,前者則是在這個架構確立之後,具體參數該怎麼微調。

02 · 為什麼存在?

為什麼會有這兩種截然不同的授權設計哲學,各自解決了什麼問題?

黑名單制的設計動機,通常是為了提供更大的操作彈性——如果一個 Agent 需要處理的情境本身變化多端、難以窮舉列出所有合法動作,採用黑名單制能避免因為漏列了某個合法但罕見的操作,導致 Agent 在正常運作時被不必要地卡住。這種設計適合那些「合法動作種類極多、難以完整列舉」的情境。

白名單制的設計動機,則是把安全性放在最優先的位置——即使犧牲一定程度的操作彈性,也要確保任何沒有被明確允許的動作,都會被系統直接拒絕。這種設計特別適合 DeFAI 這種涉及真實資金的情境,因為這裡「一個未被預期到的動作被意外執行」帶來的後果,通常遠比「一個合法動作被誤擋」的後果嚴重得多——後者頂多是操作上的不便,前者可能直接造成資金損失。

03 · 如何影響你的決策?

這兩種授權設計實際上怎麼運作,具體的差異會在什麼情境下顯現出來?

假設一個 Agent 被授權可以在借貸協議裡執行「存入」跟「提領」這兩種操作。如果這個協議後來新增了一個「質押」功能,在黑名單制底下,因為「質押」這個新功能沒有被明確列入禁止清單,Agent 理論上會被允許執行這個從未被評估過的新操作;在白名單制底下,因為「質押」沒有被明確列入允許清單,Agent 會被系統直接拒絕執行,直到使用者主動把這個新功能加進白名單為止。

這個差異在協議快速迭代、經常新增功能的 DeFAI 生態裡特別關鍵——黑名單制會讓 Agent 自動獲得存取任何新功能的權限,你完全不知道自己的 Agent 什麼時候會開始執行一個你從未評估過風險的新操作;白名單制則會讓任何新功能預設被擋下,你需要主動介入才能讓 Agent 使用它,這個「主動介入」的過程,本身就是一個讓你重新評估風險的機會。

04 · 你該怎麼辦?

白名單制 vs 黑名單制授權設計對一般用戶有什麼實際影響,該怎麼應用在評估 DeFAI 產品上?

如果你正在評估一個 DeFAI Agent 產品,值得直接詢問這個團隊:授權系統採用的是白名單制還是黑名單制的底層設計哲學,而不只是問「授權範圍設定得多精細」。這是一個比範圍大小更根本的問題——即使兩個產品當下展示給你看的授權範圍看起來一樣精確,如果底層設計哲學不同,未來面對協議更新或新功能上線時,實際的安全反應會完全不同。

實際應用時,對於管理真實資金的 DeFAI 產品,白名單制通常是更保守、更值得優先考慮的設計,因為它確保任何你沒有主動評估過的新情境,預設都會被擋下,而不是預設被允許。如果你發現一個產品採用的是黑名單制,不代表這個產品一定不安全,但代表你需要更頻繁地主動檢查,這個 Agent 的實際操作範圍有沒有因為協議更新,而悄悄擴大到你原本沒有預期的地方。

實際例子 +

傳統資訊安全領域裡,網路防火牆規則的設計長期存在「預設拒絕」(default deny)跟「預設允許」(default allow)兩種策略的討論,多數資安專業指引普遍建議採用預設拒絕策略,因為這能確保任何未被明確評估過的新流量都會被阻擋,而不是預設放行,這個資安領域行之有年的設計原則,跟 DeFAI Agent 授權設計面臨的白名單制與黑名單制選擇,屬於同一類架構安全問題。

常見誤解 +
✕ 誤解1
× 誤解:白名單制跟黑名單制只是實作細節的差異,只要授權範圍設定得夠精確,兩者的安全程度是一樣的,實際是:兩者面對「已知情境」時的安全程度確實可能相近,但面對「當初設計時完全沒被考慮到的新情境」時,兩者的預設反應完全相反,這個差異只有在新情境真正出現時才會顯現,平常很容易被忽略
✕ 誤解2
× 誤解:黑名單制因為提供更大的操作彈性,代表這是比較先進、比較好的設計,實際是:彈性跟安全性本來就是一組需要權衡的取捨,對於管理真實資金這種後果嚴重的情境,犧牲一定彈性換取更高的預設安全性,通常是更合理的設計選擇,不能單純用「彈性大小」去判斷設計優劣
這件事跟你有什麼關係 +
直接影響

白名單制的優點是能確保任何未被明確評估過的新情境,預設都會被系統拒絕,大幅降低意外執行未評估操作的風險,特別適合管理真實資金的高風險情境;缺點是每當協議新增功能或情境改變,都需要使用者主動介入更新授權清單,操作彈性較低,也對使用者的持續維護意願提出更高要求。黑名單制的優缺點則完全相反:操作彈性高、不需要頻繁維護,但面對未預期的新情境時,安全防線相對薄弱。

提問
請至少輸入 10 個字
相關文章
「我們用了帳戶抽象化」——這句話本身,其實什麼都沒告訴你
project-anatomy · 07月31日
問一個問題,看穿你的 Agent 面對意外時的真實個性
permission-watch · 07月31日