大模型本地部署的“隱形炸彈”,你的數(shù)據(jù)安全嗎?
作者 | 朱雀實(shí)驗(yàn)室
隨著DeepSeek R1等開源大模型的火爆,越來越多的開發(fā)者、企業(yè)甚至開始嘗試在本地部署大語言模型,享受AI帶來的便利。
然而近期騰訊混元安全團(tuán)隊(duì)-朱雀實(shí)驗(yàn)室發(fā)現(xiàn):這些廣受歡迎的AI工具中有不少存在安全隱患。如果使用不當(dāng),攻擊者可能竊取用戶數(shù)據(jù)、濫用算力資源,甚至控制用戶設(shè)備。
在見證行業(yè)多個AI系統(tǒng)因安全漏洞陷入被動后,我們選擇用工程師的方式回應(yīng):
做一把簡單趁手的"安全體檢工具箱"——AI-Infra-Guard,讓每個開發(fā)者都能快速診斷系統(tǒng)風(fēng)險(xiǎn)。
一、AI基礎(chǔ)設(shè)施存在哪些安全風(fēng)險(xiǎn)?
比如:
- 個人開發(fā)者在docker中部署ollama測試模型,卻發(fā)現(xiàn)GPU算力一直被占有?
- 創(chuàng)業(yè)公司因ComfyUI插件漏洞導(dǎo)致其未發(fā)布的模型泄漏被竊???
- 工程師通宵定位推理服務(wù)卡頓問題,最終發(fā)現(xiàn)是Triton漏洞導(dǎo)致服務(wù)器被挖礦?
Ollama、OpenWebUI、ComfyUI這些名字是不是耳熟能詳?多少大模型教程里都離不開它們。然而不正確的使用會造成重大安全隱患。
1. Ollama
Ollama是一個廣泛使用的開源應(yīng)用程序,可以在本地部署和操作大型語言模型,現(xiàn)在已成為最流行的的個人電腦跑大模型的方案,網(wǎng)絡(luò)上大部分本地部署大模型的文章也是推薦的此工具。
Ollama默認(rèn)啟動時會開放11434端口,并在此端口上使用restful api執(zhí)行核心功能。默認(rèn)情況下ollama只會在本地開放端口,但是在Ollama的官方docker中,默認(rèn)開放到公網(wǎng)上。
ollama對這些接口普遍沒有鑒權(quán),導(dǎo)致攻擊者掃描到這些ollama的開放服務(wù)后可以進(jìn)行一系列攻擊。
(1) 模型刪除
通過刪除接口刪除模型。
(2) 模型竊取
ollama支持自定義鏡像源,自建一個鏡像服務(wù)器,通過查看已安裝模型,再通過上傳接口即可獲得私有模型文件。
(3) 算力竊取
通過查看已安裝模型,之后用對話接口請求對話,竊取了目標(biāo)機(jī)器的算力。
(4) 模型投毒
通過下載接口下載有毒的模型,接著通過刪除接口刪除正常模型,再通過模型復(fù)制接口接口遷移有毒模型到正常模型路徑,通過有毒模型污染使用者的對話。
(5) ollama遠(yuǎn)程命令執(zhí)行漏洞【CVE-2024-37032】
ollama在去年6月爆發(fā)過嚴(yán)重的遠(yuǎn)程命令執(zhí)行漏洞【CVE-2024-37032】,允許遠(yuǎn)程代碼執(zhí)行(RCE),CVSSv3評分為9.1。通過自建鏡像偽造manifest文件,實(shí)現(xiàn)任意文件讀寫和遠(yuǎn)程代碼執(zhí)行。漏洞影響Ollama 0.1.34之前的版本
2. OpenWebUI
openwebui是現(xiàn)在最流行的大模型對話webui,包含大模型聊天,上傳圖片,RAG等多種功能且方便與ollama集成。也是現(xiàn)在deepseek本地化部署常見的搭配。openwebui在歷史上也出現(xiàn)過嚴(yán)重漏洞。
【CVE-2024-6707】
用戶上傳文件時,文件會被存儲到靜態(tài)上傳目錄。上傳文件名可偽造,未進(jìn)行校驗(yàn),通過構(gòu)造特殊的文件名,將文件寫入至任意目錄從而導(dǎo)致惡意代碼或命令執(zhí)行風(fēng)險(xiǎn)。
3. ComfyUI
除了文生文大模型,文生圖模型也是非常熱點(diǎn)的領(lǐng)域。ComfyUI是現(xiàn)在最流行的diffusion模型應(yīng)用,因其豐富的插件生態(tài)和高度定制化節(jié)點(diǎn)聞名,常用于文生圖、文生視頻等領(lǐng)域。
ComfyUI和Ollama一樣,開發(fā)者最初可能只想在本地使用,沒有任何鑒權(quán)方式,目前也有大量開放到公網(wǎng)的ComfyUI應(yīng)用。
ComfyUI因?yàn)椴寮鷳B(tài)聞名,但是插件的作者一般為個人開發(fā)者,對安全性沒有太多審查,騰訊朱雀實(shí)驗(yàn)室在去年就發(fā)現(xiàn)多個ComfyUI及其插件漏洞。
朱雀實(shí)驗(yàn)室歷史發(fā)現(xiàn)漏洞:
漏洞標(biāo)題 | 漏洞評級 | 官方補(bǔ)丁狀態(tài) |
ComfyUI 前臺未授權(quán)代碼執(zhí)行漏洞 | 高危 | 修復(fù)中 |
ComfyUI Comfy_mtb插件遠(yuǎn)程代碼執(zhí)行漏洞 | 高危 | 已修復(fù)、有補(bǔ)丁 |
ComfyUI-Prompt-Preview插件 任意文件讀取漏洞 | 中危 | 修復(fù)中 |
ComfyUI Comfy_mtb插件遠(yuǎn)程代碼執(zhí)行漏洞 | 高危 | 修復(fù)中 |
ComfyUI-Custom-Scripts插件任意文件讀取漏洞 | 中危 | 修復(fù)中 |
ComfyUI核心反序列化漏洞 | 高危 | 已修復(fù) |
ComfyUI MTB MathExpression插件遠(yuǎn)程代碼執(zhí)行漏洞 | 高危 | 已修復(fù)、有補(bǔ)丁 |
ComfyUI 核心節(jié)點(diǎn)反序列化遠(yuǎn)程代碼執(zhí)行 | 高危 | 修復(fù)中 |
ComfyUI Easyuse插件持續(xù)性拒絕服務(wù)漏洞 | 高危 | 修復(fù)中 |
ComfyUI ACE插件遠(yuǎn)程代碼執(zhí)行漏洞 | 高危 | 修復(fù)中 |
ComfyUI Ventrue插件SSRF漏洞 | 中危 | 修復(fù)中 |
ComfyUI Easyuse插件敏感信息泄露 | 低危 | 修復(fù)中 |
以上大部分漏洞影響ComfyUI全系列核心代碼(包含目前最新版本),部分流行插件,影響包括遠(yuǎn)程命令執(zhí)行、任意文件讀取/寫入,數(shù)據(jù)竊取等。
二、從DeepSeek看大模型基礎(chǔ)設(shè)施的安全挑戰(zhàn)
作為中國AI領(lǐng)域的標(biāo)桿企業(yè),DeepSeek在突破性模型研發(fā)與工程實(shí)踐上展現(xiàn)了卓越能力。然而,在上線初期,也因基礎(chǔ)設(shè)施配置和組件安全問題遭遇了大量攻擊。
如何精準(zhǔn)識別基礎(chǔ)設(shè)施組件的安全配置缺陷、CVE漏洞等,是行業(yè)共性難題,也展現(xiàn)了AI基礎(chǔ)設(shè)施安全防護(hù)的復(fù)雜與挑戰(zhàn)。這類問題往往源于AI基礎(chǔ)設(shè)施的快速迭代特性——開發(fā)團(tuán)隊(duì)需要同時應(yīng)對模型優(yōu)化、算力調(diào)度、組件集成等多重技術(shù)挑戰(zhàn),疏忽了常見底層組件默認(rèn)開放端口且無需認(rèn)證的特性,也極易在架構(gòu)設(shè)計(jì)中被簡化為『內(nèi)網(wǎng)環(huán)境無需防護(hù)』的誤判。
AI-Infra-Guard正是為解決此類痛點(diǎn)而生。通過深度集成AI常用組件(不僅包含數(shù)據(jù)庫類別,也包含AI推理、部署、訓(xùn)練、應(yīng)用、工作流等的常見開源組件)的安全基線檢測能力,該工具可自動識別未授權(quán)訪問、歷史CVE漏洞暴露等風(fēng)險(xiǎn)。
三、AI-Infra-Guard: AI風(fēng)險(xiǎn)一鍵檢測
AI Infra Guard(AI Infrastructure Guard) 是一個高效、輕量、易用的AI基礎(chǔ)設(shè)施安全評估工具,專為發(fā)現(xiàn)和檢測AI系統(tǒng)潛在安全風(fēng)險(xiǎn)而設(shè)計(jì)。目前已經(jīng)支持檢測30種AI組件,并基于團(tuán)隊(duì)對大模型供應(yīng)鏈安全漏洞的研究、不僅支持常見的AI應(yīng)用dify、comfyui、openwebui,也支持像ragflow、langchain、llama-factory等開發(fā)訓(xùn)練框架的指紋識別以及的漏洞檢測。
支持WebUI界面,讓安全檢測更直觀。
- 對于個人用戶,可以使用本地評估功能,將對本地開放端口進(jìn)行檢查,識別AI組件,并給出安全建議。
- 對于開發(fā)者/運(yùn)維,可以使用遠(yuǎn)程評估功能,檢測部署AI服務(wù)的安全性,可以直接輸入ip/域名一鍵評估。
使用友好:
- 零依賴,開箱即用,編譯后的二進(jìn)制文件極小
- 內(nèi)存占用<50MB,掃完千節(jié)點(diǎn)集群不卡頓
- 跨平臺兼容,同時支持Windows/MacOS/Linux
- WEBUI支持,點(diǎn)幾下鼠標(biāo)就能一鍵檢測
1. AI組件漏洞覆蓋
AI-Infra-Guard目前已支持檢測主流AI框架和應(yīng)用的眾多漏洞:
組件名稱 | 組件簡介 | 漏洞覆蓋數(shù)量 |
anythingllm | 用于使用任何大語言模型(LLM)與文檔對話的AI應(yīng)用,確保隱私和易用性。 | 8 |
langchain | 一個靈活的開源框架,用于構(gòu)建利用大語言模型與外部數(shù)據(jù)源的應(yīng)用。 | 33 |
clickhouse | 一個高性能的開源列式數(shù)據(jù)庫,適合實(shí)時分析處理。 | 22 |
comfy_mtb | 一個ComfyUI擴(kuò)展,提供用于AI藝術(shù)創(chuàng)作的動畫和圖像處理節(jié)點(diǎn)。 | 1 |
ComfyUI-Prompt-Preview | 一個ComfyUI擴(kuò)展,用于可視化sdxl_prompt_styler的提示風(fēng)格。 | 1 |
ComfyUI-Custom-Scripts | 一個集合,包含自定義腳本和節(jié)點(diǎn),增強(qiáng)ComfyUI的用戶界面和功能。 | 1 |
comfyui | 一個基于節(jié)點(diǎn)的圖形界面,用于使用Stable Diffusion等擴(kuò)散模型創(chuàng)建AI藝術(shù)。 | 1 |
fastchat | 一個開源平臺,用于訓(xùn)練、服務(wù)和評估大語言模型。 | 1 |
gradio | 一個開源Python庫,用于創(chuàng)建共享和交互機(jī)器學(xué)習(xí)模型的網(wǎng)頁界面。一個基于網(wǎng)頁的交互式開發(fā)環(huán)境,支持創(chuàng)建和共享包含筆記本、代碼和數(shù)據(jù)的計(jì)算文檔。 | 42 |
jupyterlab | 一個基于網(wǎng)頁的交互式開發(fā)環(huán)境,支持創(chuàng)建和共享包含筆記本、代碼和數(shù)據(jù)的計(jì)算文檔。 | 6 |
jupyter-notebook | 為Jupyter網(wǎng)頁應(yīng)用(如Notebook和Lab)提供核心服務(wù)和API的后端組件。 | 1 |
jupyter-server | 為Jupyter網(wǎng)頁應(yīng)用(如Notebook和Lab)提供核心服務(wù)和API的后端組件。 | 13 |
kubeflow | 一個開源平臺,簡化在Kubernetes上部署和管理機(jī)器學(xué)習(xí)工作流,覆蓋ML生命周期各階段。 | 4 |
kubepi | 一個CLI工具,簡化在Raspberry Pi設(shè)備上設(shè)置和管理Kubeflow的環(huán)境。 | 5 |
llamafactory | 一個統(tǒng)一框架,用于高效微調(diào)100多個大語言模型和視覺語言模型,提供LLaMA Board網(wǎng)頁界面。 | 1 |
llmstudio | H2O.ai提供的框架和無代碼GUI,用于微調(diào)大型語言模型。 | 1 |
ollama | 一個開源工具,允許在本地運(yùn)行大語言模型,確保數(shù)據(jù)隱私和控制。 | 8 |
open-webui | 一個開源、自托管的AI平臺,提供用戶友好的本地運(yùn)行大語言模型的界面,支持Ollama等運(yùn)行器。 | 8 |
pyload-ng | 一個用Python編寫的免費(fèi)開源下載管理器,提供基于網(wǎng)頁的界面管理跨平臺下載。 | 18 |
qanything | 開源企業(yè)級本地知識庫問答系統(tǒng),支持多種數(shù)據(jù)格式和數(shù)據(jù)庫的本地查詢。 | 2 |
ragflow | 一個開源RAG引擎,通過深度文檔理解增強(qiáng)AI能力,提供準(zhǔn)確的、引用支持的回答。 | 2 |
ray | 一個開源框架,用于擴(kuò)展AI和Python應(yīng)用,提供分布式計(jì)算和機(jī)器學(xué)習(xí)工作負(fù)載的統(tǒng)一方式。 | 4 |
vllm | 一個高性能開源引擎,用于高效推理和服務(wù)大語言模型,優(yōu)化速度和內(nèi)存使用。 | 5 |
triton-inference-server | Triton 推理服務(wù)器提供優(yōu)化的云和邊緣推理解決方案。 | 7 |
2. 使用說明
啟動webui可視化檢測:
ai-infra-guard -ws
對于開發(fā)者/運(yùn)維,也提供命令行參數(shù),方便各功能與CI/CD等自動化系統(tǒng)集成:
# 本地檢測
ai-infra-guard -localscan
# 單個目標(biāo)
ai-infra-guard -target [IP:PORT/域名]
# 多個目標(biāo)
ai-infra-guard -target [IP:PORT/域名] -target [IP:PORT/域名]
# 掃描網(wǎng)段尋找AI服務(wù)
ai-infra-guard -target 192.168.1.0/24
# 從文件讀取目標(biāo)掃描ai-infra-guard -file target.tx
四、寫在最后
我們從不相信‘絕對安全’的傳說,但至少可以讓漏洞的發(fā)現(xiàn)速度,比黑客的咖啡涼得更快一些。
AI Infra Guard 是混元安全團(tuán)隊(duì)-朱雀實(shí)驗(yàn)室在過去一年里,圍繞混元大模型安全開展深入研究和實(shí)踐的基礎(chǔ)上,逐步落地的一套大模型軟件供應(yīng)鏈安全解決方案。我們將AI-Infra-Guard完全開源,讓每個團(tuán)隊(duì)和開發(fā)者都能免費(fèi)使用,保護(hù) AI 基礎(chǔ)設(shè)施免受軟件供應(yīng)鏈攻擊的威脅。
還記得文章開頭提到的那些安全漏洞嗎?每個使用大模型的團(tuán)隊(duì)都可能在不知不覺中面臨這些風(fēng)險(xiǎn)。不管是個人開發(fā)者還是運(yùn)維團(tuán)隊(duì),我們做了一個最直觀的“安全評分”方式來展示當(dāng)前系統(tǒng)的安全問題。
通過以下幾步,查看你AI系統(tǒng)的評分:
- 下載地址:(https://github.com/Tencent/AI-Infra-Guard/releases),挑個適合你系統(tǒng)的版本。
- 一鍵開測:運(yùn)行ai-infra-guard -ws,打開瀏覽器,查看你的安全評分。
項(xiàng)目介紹:GitHub - Tencent/AI-Infra-Guard: AI infrastructure security assessment tool designed to discover and detect potential security risks in AI systems.
本項(xiàng)目已進(jìn)入DeepSeek官方 Awesome DeepSeek Integrations推薦應(yīng)用清單。
歡迎大家Star、體驗(yàn)并反饋,特別想對參與共建的同行者說:
”你們推送的每一個commit,都在重新定義AI世界的安全水位線?!?/p>