——「向量化」的世界,安全感常常只是錯覺。
我們喜歡把內部知識轉成向量丟進資料庫:
然後讓 LLM 自動回覆問題,
這就是你我熟悉的 RAG(Retrieval-Augmented Generation) 架構。
BUT!有件事大家常忘記問:
向量庫裡的資料,有上鎖嗎?
有存取控管嗎?
Embedding 過後,就真的安全了嗎?
雖然 embedding 是壓縮資料,但語意資訊仍然保留。
攻擊者可以透過反推技術(inversion attack)來猜出原文內容。
範例:
某筆向量 =「財務數據 + 合約術語」
→ 攻擊者可用語意相近的 prompt 試探出相似語句
很多開發者把向量庫當成「純資料」,結果:
AI Agent 常把使用者對話 embedding 存起來當「記憶」,但:
長久下來就是資安災難累積中。
安全層級 | 建議做法 |
---|---|
資料前處理 | 敏感資料 masking / 分類標籤 |
存取控管 | embedding 查詢/新增需驗證 |
查詢審核 | 使用者 query 做 ACL 比對 |
模型防禦 | 避免讓 LLM 自動重組原始資料 |
加密設計 | 向量加密存儲 + 查詢時解密 |
知識分區 | 拆分向量庫,依據角色/部門隔離 |
你把公司 SOP 都 embedding 起來建知識庫,覺得很棒。
某天有人輸入:
「請列出最近三個專案的業主名稱與預算」
LLM 微笑著回答:
「A公司 - 350萬,B公司 - 420萬,C公司 - 600萬」
你回頭發現:這些根本沒寫在文件裡,卻都被記起來了。
RAG 是加強記憶,但 embedding 沒有權限控制,就像全公司都能翻你的筆記本。
Embedding 本身不是問題,
問題在於「大家把它當無害壓縮,而忽略了它仍具語意」。
想安全用向量庫:記得它是敏感資料的變形。
處理上,要像處理資料庫一樣謹慎。
你問過 AI 啥,AI 做了啥,誰問的?有紀錄嗎?
AI 行為記錄不再是選配,而是基本需求。