過去一年,面向公眾的 Ollama 伺服器、MCP 端點和推理代理在互聯網上數量激增,而且通常部署時未進行身份驗證或速率限制。 AIMap 是一個開源平台,能夠大規模地在互聯網上發現這些系統,對其進行指紋識別,評估其暴露程度,並針對授權目標運行特定協議的攻擊測試。
AIMap 的功能
AIMap 包含五項功能。發現功能透過 32 個預設查詢(針對已知的 AI 特徵進行最佳化)查詢 Shodan 索引的資料。指紋辨識功能使用 Nuclei 範本和即時 HTTP 檢查探測每個候選端點,以識別協定、框架、驗證狀態、暴露的工具、模型以及任何洩漏的系統提示。評分功能根據身份驗證狀態、工具暴露情況、CORS 配置、TLS 狀態、系統提示洩漏以及危險的功能組合,為每個端點分配一個 0 到 10 的權重值。
測試運行特定協議的攻擊套件,涵蓋提示注入、工具濫用和模型提取,有效載荷、響應、嚴重性評級和修復說明均即時串流。視覺化以 Shodan 風格的搜尋介面和可按協定、風險等級、國家/地區、連接埠和組織篩選的 3D 地球視圖呈現結果。
覆蓋範圍包括模型上下文協定 ( MCP )、Ollama、vLLM、LiteLLM、LocalAI、LangServe 和 LangChain 部署、OpenClaw 和 Clawdbot 系統、Open WebUI 和 LibreChat 介面、Gradio 和 Streamlit 推理應用程式、ComfyUI 和 Stable Diffusion 環境、Hugging Faceion TGI 以及通用推理應用程式。
對於 MCP 伺服器,攻擊模組會執行工具枚舉、授權邊界測試和提示注入評估,這些評估均透過工具描述提供。對於 Ollama,它會運行模型清單、模型權重暴露驗證和提示注入。 OpenAI 相容的端點會接受模型枚舉、補全端點濫用和系統提示擷取方面的測試。
區分暴露的和可存取的
創建了 AIMap 的畢曉普福克斯大學安全研究員Aashiq Ramachandran告訴 Help Net Security,該平台能夠區分網路可達的端點和開放的端點。 「當我們探測像 /v1/models 這樣的路徑時,如果回應狀態碼為 200,則表示該端點完全開放,沒有任何身份驗證。而 401 或 403 狀態碼則表示已配置身份驗證,」Ramachandran 說。此外,此探測方法還會讀取 WWW-Authenticate 標頭,以區分 Bearer/OAuth、基本驗證和 API 金鑰要求,進一步對驗證類型進行分類。
每個已發現的端點都包含一個auth_status字段,儀表板會匯總no_auth_count整個資料集的值。 Ramachandran 表示,操作上的差異對於風險分級至關重要:即使 Ollama 實例和 vLLM 部署都可透過公共互聯網存取,但如果 Ollama 實例的 API 返回 200 狀態碼,則它們的風險等級也不同,如果 vLLM 部署返回 401 狀態碼,則風險等級也不同。
偵測部分配置錯誤的身份驗證(即同一實例上的一個路徑強制執行身份驗證,而另一個路徑不強制執行身份驗證)已列入開發計劃,但尚未包含在目前版本中。
框架指紋和OpenAI相容問題
AI基礎設施掃描中一個反覆出現的問題是,許多框架在8000到8080連接埠範圍內重疊地暴露了與OpenAI相容的API,導致通用的/v1/models檢查在溯源方面不可靠。 Ramachandran表示,AIMap透過先探測框架特定的端點,然後才回退到通用檢查來解決這個問題。
Ollama、vLLM、LiteLLM、LocalAI、Hugging Face TGI、Gradio、ComfyUI、Open WebUI、LangServe 和 MCP 伺服器都有各自獨立的指紋。它們都使用明確的識別碼:Ollama 在其根路徑上返回字串“Ollama is running”,vLLM 公開一個/version端點,而 LiteLLM 的/health回應正文中包含其名稱。
Triton、LM Studio 的伺服器模式、llama.cpp 的內建 HTTP 伺服器以及 Jan 目前都缺少專用簽章。 Ramachandran 表示,從這些伺服器執行 OpenAI 相容 API 的部署仍然會被偵測出來,並被標記為暴露的推理端點,但屬性資訊是通用的。他們計劃為每個 API 添加專用指紋,其中 Triton 的健康狀況和模型存儲庫端點以及 llama.cpp 的/slots端點等響應特徵將用於進行有效識別。
評分權重如何決定
0 到 10 分的評分綜合考慮了以下因素:缺乏身份驗證、身份驗證狀態未知、暴露工具的數量和類型、是否存在高風險或嚴重風險工具、開放的 CORS 策略、缺少 TLS、系統提示洩露、暴露的模型、未審查的模型檢測以及註冊配置。
風險條件的組合,例如未經身份驗證的存取與程式碼執行的組合,會被賦予更高的權重。根據 Bishop Fox 的說法,得分高於 7 分通常表示存在實際可利用的漏洞,包括未經身份驗證的端點執行代碼以及暴露的系統提示與工具存取的組合。
暴露程度
Bishop Fox 的產品演示顯示,有超過 17.5 萬個 Ollama 實例暴露在外,超過 8000 個 MCP 伺服器可透過公共互聯網存取,其中近一半提供代碼執行功能且無需身份驗證。該演示還指出,僅有 13% 的組織擁有專門針對人工智慧的安全控制措施。演示中展示的掃描結果顯示,在 50 個國家/地區發現了近 2000 個活躍的人工智慧端點,其中 91% 的端點沒有任何形式的身份驗證。
操作員責任
AIMap 的發現和指紋辨識模組為唯讀模組。主動攻擊模組需要操作員選擇啟用,並在執行前明確確認目標。操作員須全權負責遵守《電腦詐欺和濫用法案》(CAFA)、《一般資料保護規範》(GDPR) 及其他適用法律。該工具僅供授權的安全測試、防禦性研究以及對操作員擁有或已獲得書面許可測試的系統進行評估之用。AIMap可在GitHub上免費取得。
資料來源:https://www.helpnetsecurity.com/2026/05/06/aimap-ai-attack-surface-discovery/