一種大模型插件漏洞檢測方法及裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及人工智能安全、下一代互聯(lián)網(wǎng)應(yīng)用安全和軟件安全分析技術(shù)領(lǐng)域,特別涉及一種大模型插件漏洞檢測方法及裝置。
背景技術(shù)
[0002] 在人工智能領(lǐng)域,大視覺模型和大語言模型等大模型已成為最引人注目的技術(shù)之一。隨著上述大模型的不斷發(fā)展和完善,已經(jīng)開發(fā)了針對上述大模型的插件,旨在進一步提升其實用性和靈活性。其中,上述插件為大模型賦予了新的能力,或改進了現(xiàn)有的功能,在各類場景中得到了廣泛的應(yīng)用。但是,在大模型插件擴展了平臺的能力的同時,也引發(fā)了一些安全隱患與問題。具體地,惡意攻擊者可能利用大模型插件軟件包中的潛在安全漏洞,對軟件進行惡意操作或破壞,導(dǎo)致系統(tǒng)面臨安全風(fēng)險?;诖?,需要對大模型插件進行漏洞檢測,以避免大模型遭到惡意操作或破壞。
[0003] 現(xiàn)有技術(shù)中,靜態(tài)分析方法多聚焦于單一過程內(nèi)的數(shù)據(jù)流分析,缺乏對跨過程數(shù)據(jù)流的全面理解,難以識別代碼中源點(source)和匯點(sink)之間的污點傳播。而污點分析是識別安全漏洞(如未驗證輸入導(dǎo)致的注入攻擊等)的核心技術(shù)之一,能夠幫助開發(fā)者識別潛在的安全風(fēng)險?,F(xiàn)有技術(shù)中無法有效識別跨過程的數(shù)據(jù)傳遞路徑,從而導(dǎo)致漏洞檢測的精度和效率不足,降低了系統(tǒng)的安全性。
發(fā)明內(nèi)容
[0004] 本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。
[0005] 為此,本發(fā)明的一個目的在于提出一種大模型插件漏洞檢測方法,該方法可以基于抽象語法樹和跨過程控制流圖,并將目標(biāo)源點附著于跨過程控制流圖中,結(jié)合跨過程有限分配子集算法追蹤數(shù)據(jù)的傳播路徑,從而在跨過程調(diào)用的場景下高效地進行數(shù)據(jù)流污點分析,準(zhǔn)確地識別跨過程數(shù)據(jù)流中的漏洞,解決了傳統(tǒng)靜態(tài)分析工具在跨過程數(shù)據(jù)流分析中的局限性,提高了系統(tǒng)的安全性。
[0006] 本發(fā)明的另一個目的在于提出一種大模型插件漏洞檢測裝置。
[0007] 為達到上述目的,本發(fā)明一方面實施例提出了一種大模型插件漏洞檢測方法,包括:
[0008] 獲取大模型插件的項目代碼,并對所述項目代碼進行解析生成抽象語法樹;
[0009] 獲取初始源點集合和初始匯點集合,其中,所述源點為輸入數(shù)據(jù)的入口點,所述匯點為數(shù)據(jù)的出口點;
[0010] 基于所述初始源點集合和所述初始匯點集合識別所述抽象語法樹中的源點和匯點,得到所述項目代碼中的目標(biāo)源點集合和目標(biāo)匯點集合;
[0011] 生成所述項目代碼的跨過程控制流圖;
[0012] 將所述目標(biāo)源點集合中的目標(biāo)源點附著于所述跨過程控制流圖中,并基于所述目標(biāo)匯點集合和跨過程有限分配子集算法確定所述大模型插件的漏洞檢測結(jié)果。
[0013] 本發(fā)明實施例的大模型插件漏洞檢測方法,還可以具有以下附加技術(shù)特征:
[0014] 進一步地,所述基于所述初始源點集合和所述初始匯點集合識別所述抽象語法樹中的源點和匯點,得到所述項目代碼中的目標(biāo)源點集合和目標(biāo)匯點集合,包括:
[0015] 通過正則表達式識別所述項目代碼中的函數(shù)和屬性名稱;
[0016] 基于所述函數(shù)和屬性名稱的識別結(jié)果,和所述初始源點集合和所述初始匯點集合識別所述項目代碼中的目標(biāo)源點和目標(biāo)匯點,并為識別到的目標(biāo)源點和目標(biāo)匯點配置唯一標(biāo)識;
[0017] 將所述目標(biāo)源點存儲至目標(biāo)源點集合,將所述目標(biāo)匯點存儲至目標(biāo)匯點集合。
[0018] 進一步地,所述生成所述項目代碼的跨過程控制流圖,包括:
[0019] 創(chuàng)建控制流圖中的不同類型節(jié)點;
[0020] 基于所述不同類型節(jié)點,通過跨過程函數(shù)調(diào)用分析,建立調(diào)用點與被調(diào)用函數(shù)之間的跨過程調(diào)用關(guān)系,并記錄返回節(jié)點;
[0021] 基于所述跨過程調(diào)用關(guān)系,生成跨過程控制流圖。
[0022] 進一步地,所述將所述目標(biāo)源點集合中的目標(biāo)源點附著于所述跨過程控制流圖中,并基于所述目標(biāo)匯點集合和跨過程有限分配子集算法確定所述大模型插件的漏洞檢測結(jié)果,包括:
[0023] 將所述目標(biāo)源點集合中的目標(biāo)源點附著于所述跨過程控制流圖中,得到附著后的跨過程控制流圖;
[0024] 初始化所述項目代碼中變量的數(shù)據(jù)流事實域;
[0025] 基于所述附著后的跨過程控制流圖、所述數(shù)據(jù)流事實域、所述目標(biāo)匯點集合和污點轉(zhuǎn)移函數(shù),利用固定點算法確定所述項目代碼的漏洞檢測結(jié)果。
[0026] 進一步地,所述數(shù)據(jù)流事實域包括污點狀態(tài);所述基于所述附著后的跨過程控制流圖、所述數(shù)據(jù)流事實域、所述目標(biāo)匯點集合和污點轉(zhuǎn)移函數(shù),利用固定點算法確定所述項目代碼的漏洞檢測結(jié)果,包括:
[0027] 利用固定點算法通過所述污點轉(zhuǎn)移函數(shù)迭代所述附著后的跨過程控制流圖中每個節(jié)點和對應(yīng)的數(shù)據(jù)流事實,直至所述附著后的跨過程控制流圖中每個節(jié)點的污點狀態(tài)穩(wěn)定,并基于污點數(shù)據(jù)傳遞到所述目標(biāo)匯點集合中目標(biāo)匯點的路徑得到污點傳播路徑;
[0028] 基于所述污點傳播路徑,確定所述項目代碼的漏洞檢測結(jié)果。