AI API 生態系
紅隊員之 AI API 生態系指南——OpenAI、Anthropic、Google、AWS、Azure、開源 API、身分驗證模式,與常見安全錯誤組態。
作為攻擊面之 API
多數 AI 應用不直接與模型互動——它們呼叫 API。這些 API 為使用者輸入與模型推論間之守門員,處理身分驗證、速率限制、輸入驗證與回應格式化。對紅隊員而言,API 層常為首個接觸點,亦為豐富之漏洞來源。
主要提供者 API
OpenAI API
最廣泛使用之 AI API,驅動 GPT-4、GPT-4o、o1、o3、DALL-E 與 Whisper。
| 面向 | 細節 |
|---|---|
| 身分驗證 | Bearer token(sk-... API 金鑰) |
| 速率限制 | 依組織,按使用方案分級 |
| 端點 | /v1/chat/completions、/v1/embeddings、/v1/images/generations、/v1/audio |
| 值得注意之特性 | 函式呼叫、JSON 模式、串流、logprobs、moderation 端點 |
| 安全相關 | Moderation API 與 completions 分別執行;工具使用擴展攻擊面 |
紅隊筆記:OpenAI API 金鑰遵循可預期之格式(sk-proj-... 為專案金鑰,sk-... 為舊版金鑰)。Moderation 端點可獨立測試以理解內容過濾器將捕捉什麼。函式呼叫引入結構化輸出,繞過以文字為本之輸出過濾器。
Anthropic API
以對安全與憲法 AI 之聚焦驅動 Claude 模型。
| 面向 | 細節 |
|---|---|
| 身分驗證 | API 金鑰標頭(x-api-key) |
| 速率限制 | 依金鑰,對輸入與輸出 token 具分別限制 |
| 端點 | /v1/messages、/v1/complete(舊版) |
| 值得注意之特性 | 系統提示作為分離參數、工具使用、串流、視覺 |
| 安全相關 | 系統提示視為一等參數(非僅為訊息角色) |
紅隊筆記:Anthropic 之系統提示架構將系統指令與訊息歷史較其他提供者更明確分離。速率限制區分輸入與輸出 token,影響提取攻擊策略。
Google AI API
經直接 API 與 Google Cloud Vertex AI 驅動 Gemini 模型。
| 面向 | 細節 |
|---|---|
| 身分驗證 | API 金鑰(直接)或 OAuth/服務帳號(Vertex AI) |
| 速率限制 | Google Cloud 之每專案配額 |
| 端點 | generativelanguage.googleapis.com、Vertex AI 端點 |
| 值得注意之特性 | 以 Google Search 接地、程式碼執行、多模態(文字、圖像、視訊、音訊) |
| 安全相關 | Google Search 接地經網頁內容引入間接注入 |
紅隊筆記:Gemini 連接 Google Search 之接地特性引入顯著之間接提示注入向量——接地期間檢索之網頁可含對抗指令。雙 API 表面(直接與 Vertex)可能具不同之安全組態。
AWS Bedrock
Amazon 之受管服務,經統一 API 提供對多個模型提供者之存取。
| 面向 | 細節 |
|---|---|
| 身分驗證 | AWS IAM(Signature V4) |
| 速率限制 | 預配吞吐或按需配合帳戶限制 |
| 端點 | bedrock-runtime.\{region\}.amazonaws.com |
| 值得注意之特性 | 多模型存取(Claude、Llama、Mistral、Titan)、Guardrails API、Knowledge Bases |
| 安全相關 | IAM 政策可能被錯誤組態;Guardrails API 為分離層 |
紅隊筆記:AWS Bedrock 將多個模型提供者包裝於 AWS IAM 身分驗證之後。錯誤組態之 IAM 政策(過寬之 bedrock:InvokeModel 權限)常見。Bedrock Guardrails API 加入提供者管理之護欄層,獨立於個別模型安全。
Azure OpenAI Service
Microsoft 經 Azure 基礎設施部署之 OpenAI 模型企業版。
| 面向 | 細節 |
|---|---|
| 身分驗證 | API 金鑰或 Azure AD(Entra ID)token |
| 速率限制 | 依部署,可組態 |
| 端點 | \{resource-name\}.openai.azure.com |
| 值得注意之特性 | 預設啟用內容過濾、私有網路支援、受管身分 |
| 安全相關 | Azure Content Safety 過濾器與 OpenAI 之 moderation 分離;可獨立組態 |
紅隊筆記:Azure OpenAI 具其自身內容過濾層(Azure Content Safety),與 OpenAI 之內建安全額外執行。此意指繞過需逃避兩層。然而,內容過濾器組態於 Azure 入口網站,而錯誤組態之部署可能停用過濾器。
身分驗證模式與漏洞
API 金鑰身分驗證
最簡單且最常見之模式。密鑰納入每個請求。
常見漏洞:
- 金鑰於客戶端 JavaScript 中硬編碼
- 金鑰提交至公開 Git 儲存庫
- 金鑰儲存於環境變數,經錯誤頁面或 server-status 端點洩漏
- 無金鑰輪換政策——受損金鑰無限期保持有效
- 過度寬鬆之金鑰,授予對所有模型與端點之存取
OAuth/服務帳號身分驗證
較安全但較複雜。由 Google Cloud、Azure AD 與企業部署使用。
常見漏洞:
- 過寬之服務帳號權限
- 缺乏適當存取控制之 token 更新端點
- 不安全儲存之長效 token
- 於 token 驗證中缺乏 audience 或 scope 驗證
無身分驗證
某些自託管部署與開發端點執行時無身分驗證。
常見漏洞:
- 經錯誤組態之負載均衡器或網路政策暴露之僅限內部端點
- 開發部署於生產留存執行
- 模型推論端點自 VPC 內可存取但未適當分段
API 代理與聚合
許多應用不直接呼叫提供者 API。相反,它們使用代理層或聚合服務,引入額外攻擊面。
常見代理模式
| 模式 | 描述 | 安全意涵 |
|---|---|---|
| 後端代理 | 應用後端將請求轉發至 AI 提供者 | 代理可能去除或修改安全標頭;記錄可能捕捉敏感資料 |
| API 閘道 | 閘道(Kong、Apigee)位於 AI API 前 | 錯誤組態之閘道可能允許標頭注入或繞過速率限制 |
| 聚合服務 | 如 OpenRouter 或 LiteLLM 之服務為多個提供者提供單一 API | 聚合者可存取所有請求;加入信任邊界 |
| 快取層 | 回應被快取以降低成本與延遲 | 快取投毒可對其他使用者提供對抗回應 |
代理特定漏洞
- 經標頭之系統提示注入:某些代理實作將系統提示經自訂標頭傳遞,可被客戶端覆寫
- 經代理之金鑰暴露:代理持有提供者 API 金鑰;代理受損暴露金鑰
- 不一致之安全政策:代理可能實作與底層提供者不同之速率限制或內容過濾器
- 請求/回應記錄:代理可能記錄完整請求與回應主體,造就資料洩漏向量
影響攻擊之 API 設計差異
提供者實作其 API 之細微差異造就提供者特定之攻擊機會:
| 特性 | 變化 | 安全影響 |
|---|---|---|
| 系統提示 | 分離參數 vs. 第一訊息 | 影響提示注入策略 |
| Token 計數 | 不同分詞器產生不同計數 | 影響以脈絡視窗為本之攻擊 |
| 串流 | SSE vs. WebSocket vs. chunked transfer | 串流可能繞過後處理過濾器 |
| 錯誤訊息 | 冗長 vs. 一般 | 冗長錯誤洩漏模型與組態資訊 |
| 函式呼叫 | 不同 schema 與驗證 | Schema 驗證缺口經工具引數啟動注入 |
| Moderation | 分離端點 vs. 內嵌 | 分離端點可獨立測試 |
常見 API 安全錯誤組態
基於現實世界紅隊發現,這些為 AI 應用中最頻繁觀察之 API 安全問題:
- 客戶端程式碼中暴露之 API 金鑰 —— 應用之前端含 AI 提供者 API 金鑰,允許直接存取
- 應用自身 API 之缺失速率限制 —— 即便提供者限速,應用之端點可能未限
- 無輸入長度驗證 —— 接受任意長之輸入啟動脈絡視窗攻擊與成本利用
- 冗長錯誤訊息 —— 揭露模型名稱、系統提示片段,或基礎設施細節之錯誤回應
- 不一致之端點安全 —— 主聊天端點受保護但替代端點(embedding、moderation、completion)未受
- 缺失輸出驗證 —— 模型回應直接返回使用者而無淨化
- 共用 API 金鑰 —— 跨所有環境(開發、暫存、生產)與所有特性之單一 API 金鑰
- 無稽核記錄 —— 無何查詢送至模型之紀錄,使事件回應不可能
相關主題
參考資料
- "OpenAI API Reference" - OpenAI(2025)- OpenAI API 之完整文件,含身分驗證、端點與參數
- "Anthropic API Documentation" - Anthropic(2025)- Claude API 文件,含系統提示處理與速率限制
- "OWASP API Security Top 10" - OWASP(2023)- 適用於 AI API 實作之 API 安全風險標準分類
- "Exposed ML Model Servers on the Internet" - ProtectAI(2025)- 經網路掃描發現之公開可存取 AI 推論端點研究
AI 應用中最常見之現實世界 API 安全漏洞為何?