嵌入與向量安全
嵌入如何在 AI 系統中建立隱藏的攻擊面:向量資料庫安全邊界、嵌入層級攻擊與 RAG 檢索操控。
嵌入是現代 AI 系統搜尋、檢索並推理資訊能力的基礎。每個 RAG(檢索增強生成)管線、每個語意搜尋系統,以及每個 AI 驅動的推薦引擎,皆仰賴嵌入把文字、影像與其他資料轉為可被比較與搜尋的數值向量。這種普遍性使嵌入與向量基礎設施成為安全評估中常被忽略的關鍵攻擊面。
為何嵌入是安全顧慮
嵌入看似單純數值向量——浮點數清單且無明顯語意內容。這表面不透明性造成錯誤的安全感。實際上,嵌入編碼了它們所代表之資料的豐富語意資訊,而此資訊可被萃取、操控與利用。
資訊悖論
嵌入被設計為捕捉語意意義:兩段意義相似的文字應有相似的嵌入。此性質是語意搜尋能運作的原因。但這也意味著嵌入含有足以進行重建攻擊的原始文字資訊。研究已展示嵌入向量可被反演以還原原始輸入文字的大部分。
這造成一個悖論:嵌入對檢索愈有用(所捕捉的語意資訊愈多),它就愈洩漏原始內容的資訊。儲存敏感文件嵌入的組織,實際上是在儲存這些文件的壓縮但可還原版本。
隱藏的資料流
在典型 RAG 系統中,資料流經數個階段:
Source Documents → Chunking → Embedding Model → Vector Database → Retrieval → LLM
↑ ↑ ↑ ↑ ↑
Sensitive Boundary Transform Storage Selection
Data Decisions to Vectors of Vectors & Ranking
安全控制通常套用在來源文件層級(存取控制)與大型語言模型輸出層級(內容過濾)。中間階段——分塊、嵌入、向量儲存與檢索——常缺乏同等的安全控制。此落差使運作於嵌入與向量層級的攻擊能繞過兩端的控制。
攻擊分類
本節將嵌入與向量安全威脅組織為三類。
向量資料庫安全
向量資料庫(Pinecone、Weaviate、Chroma、Milvus、Qdrant)是嵌入的儲存層。它們呈現新型的資料庫安全挑戰,因為其查詢模型——相似度搜尋——與傳統 SQL 或文件查詢根本不同。此類攻擊鎖定資料庫層級的存取控制、注入與資料外洩。
關鍵顧慮包含:
- 存取控制落差 ——向量資料庫的 API 金鑰管理、租戶隔離與命名空間安全
- 注入攻擊 ——嵌入投毒、元資料注入與相似度搜尋操控
- 資料外洩 ——嵌入反演以重建已儲存文件、列舉攻擊,以及基於相似度的資料收割
詳盡涵蓋請參閱 向量資料庫安全 子節。
嵌入層級攻擊
嵌入層級的攻擊鎖定向量本身,而非儲存它們的資料庫。這些攻擊利用嵌入空間的數學特性以打造對抗性輸入、還原原始內容,或推論訓練集中的成員身分。
關鍵攻擊類型:
- 對抗性嵌入 ——打造產生與目標內容語意相近卻含惡意載荷之嵌入的輸入
- 反演攻擊 ——從嵌入向量重建原始文字,具重大隱私意涵
- 成員推論 ——判定特定資料是否納入嵌入模型的訓練集
詳盡涵蓋請參閱 嵌入層級攻擊 子節。
RAG 檢索安全
RAG 系統使用嵌入為語言模型生成檢索相關上下文。對檢索管線的攻擊可操控何種資訊抵達模型,進而影響其輸出,而無需直接注入提示詞。
關鍵攻擊類型:
- 檢索操控 ——投毒分塊以在相似度搜尋中排名更高、利用分塊邊界,以及跨文件注入
- 引用攻擊 ——偽造來源、造成引用混淆,以及操控模型如何歸因資訊
詳盡涵蓋請參閱 RAG 檢索安全 子節。
嵌入作為信任邊界
對安全實務者而言,一個關鍵概念是嵌入層代表一條信任邊界。通過嵌入模型的資料經歷單向轉換,剝除多數與安全相關的元資料:
- 存取控制標籤遺失。 被分類為「機密」的文件產出的嵌入無存取控制標籤。向量資料庫不一定會對該嵌入施加存取控制。
- 來源性被模糊。 文件一旦被分塊與嵌入,嵌入與其來源文件之間就沒有密碼學連結。能投毒向量資料庫的攻擊者可引入看似來自合法來源的嵌入。
- 內容被轉換。 嵌入不含原始文字,意味著基於內容的安全控制(正規表達式過濾器、關鍵字封鎖清單)無法套用到已儲存嵌入。
此信任邊界是許多安全控制失效之處。組織可能在其文件管理系統上有穩健存取控制,但在儲存那些文件嵌入的向量資料庫上卻無存取控制。嵌入管線成為權限提升路徑:擁有向量資料庫存取的攻擊者,可存取他們無法直接存取之文件的語意內容。
常見架構模式與其風險
共享向量資料庫
許多組織為多個應用程式或租戶使用單一向量資料庫。沒有正確的命名空間隔離,一個應用程式的查詢可能回傳另一個應用程式的嵌入,造成跨租戶資料洩漏。
未加密的嵌入儲存
嵌入鮮少在靜態狀態下加密,因為加密會阻止相似度搜尋操作。這意味著任何能存取向量資料庫底層儲存的人,皆可存取所有嵌入。
嵌入模型即服務
當組織使用第三方嵌入 API(OpenAI、Cohere、Voyage AI)時,他們把來源文字送至外部服務進行嵌入。這建立了類似於把資料送至語言模型 API 的資料暴露,但組織常對嵌入 API 呼叫套用較少審視。
用戶端嵌入生成
某些架構在用戶端產生嵌入以減少 API 呼叫。這意味著嵌入模型權重被散佈至用戶端,使模型盜竊與對抗性嵌入生成成為可能。
評估方法論
評估 AI 系統的嵌入與向量安全時:
- 描繪嵌入管線 ——記錄從來源資料到向量儲存再到檢索的每個步驟
- 辨識信任邊界 ——存取控制在何處強制、在何處崩解?
- 評估向量資料庫安全 ——API 金鑰、租戶隔離、網路暴露、備份安全
- 測試嵌入反演 ——能否從已儲存嵌入還原有意義的文字?
- 測試檢索操控 ——被投毒的文件能否被製造為排名高於合法文件?
- 評估元資料安全 ——敏感資訊是否無存取控制地儲存在向量元資料中?
- 檢查資料洩漏 ——跨租戶或跨應用程式的查詢能否存取其他脈絡的嵌入?
相關主題
- 基礎:嵌入與向量系統 ——嵌入系統的技術基礎
- RAG、資料與訓練攻擊 ——更廣泛的 RAG 攻擊面
- 提示詞注入與越獄 ——與檢索操控互補的注入攻擊
- 基礎設施與供應鏈 ——與向量資料庫部署相關的基礎設施安全