GPTSecurity是一個涵蓋了前沿學術研究和實踐經驗分享的社區,集成了生成預訓練Transformer(GPT)、人工智能生成內容(AIGC)以及大語言模型(LLM)等安全領域應用的知識。在這里,您可以找到關于GPT/AIGC/LLM最新的研究論文、博客文章、實用的工具和預設指令(Prompts)。現為了更好地知悉近一周的貢獻內容,現總結如下。
Security Papers
1. 利用數據流路徑對大語言模型產生的 Bug Report 進行“消毒”
簡介:近年來,使用大語言模型(LLM)進行代碼缺陷檢測的嘗試大量涌現。通過基于提示工程(prompt engineering)進行源碼層面的定制化分析,使得這些靜態分析方法具備了比傳統靜態分析更好的適用性和易用性。然而,LLM的“幻覺”現象(hallucination)導致其生成的bug report中存在大量漏報和誤報,嚴重影響了靜態代碼缺陷檢測的質量。
本文提出了一種針對LLM生成的bug report進行“消毒”的技術——LLMSAN,旨在識別bug report與程序之間的矛盾,從而緩解LLM幻覺現象帶來的誤報問題。研究者利用few-shot chain-of-thought prompting策略,誘導LLM在響應中提供數據流路徑(data-flow path),作為bug存在性的證明(bug proof)。這一過程使得LLM的輸出具有特定的格式和語義,從而實現了可驗證性 (verifiable)。對于每條數據流路徑,研究者引入分治思想,分別驗證其數據屬性和流屬性,并進一步對這兩類屬性進行語法/語義層面的拆分。通過設計基于解析(parsing)和LLM的雙重驗證模塊,最終實現了對誤報的有效檢測。實驗結果表明,該技術在不同類型的LLM驅動下的靜態分析中具有一致的有效性,能夠通過檢測并丟棄大量誤報,顯著提高分析的精度。
鏈接:
https://aclanthology.org/2024.findings-emnlp.217
2. LLMDFA: 基于大語言模型的代碼數據流分析
簡介:由于LLM固有的幻覺現象,在處理長代碼時檢測復雜形式的缺陷容易引發不可接受的漏報和誤報。盡管已有一些工作針對分析結果進行了進一步的校驗,但仍然存在低召回率的問題。為了提高基于LLM的代碼分析的精度和召回率,研究者嘗試將長段代碼中的復雜屬性分析轉化為多個短代碼段上的簡單屬性分析。具體而言,研究者借鑒了傳統數據流分析中的基于摘要的跨函數分析算法,將分析任務分解為三個子問題:(1)源-匯關系抽取,(2)數據流摘要生成,(3)路徑可達性判定。與直接面向整個程序的分析相比,分解后的子問題更易于解決。基于這一核心思路,研究者提出了一種基于LLM的數據流分析技術——LLMDFA。
為了進一步緩解和解決每個子問題中的幻覺現象,研究者采用LLM生成程序代碼的方式,結合代碼語法解析庫(如tree-sitter)和SMT求解器Z3的API接口,分別識別代碼中的源-匯關系并編碼路徑條件。通過將問題規約為程序合成問題,LLMDFA在現有工具的基礎上,自動合成了新的工具,從而有效緩解了第一階段和第三階段中的幻覺現象。同時,LLMDFA在應用了few-shot chain-of-thought prompting策略,大幅提升了函數內數據流分析的精度和召回率。
鏈接:
https://neurips.cc/virtual/2024/poster/95227
3. CWEval:基于結果驅動的大語言模型代碼生成功能與安全性評估
簡介:大語言模型(LLMs)通過生成代碼或輔助代碼編寫,極大地幫助開發人員提高了各類任務的生產效率。識別錯誤代碼通常較為容易,但檢測功能正確代碼中的漏洞則更具挑戰性,尤其是對于安全知識有限的開發人員來說。這就導致使用大語言模型生成的代碼存在相當大的安全風險,也凸顯了建立強大評估基準的必要性,該基準需同時評估功能正確性和安全性。目前諸如 CyberSecEval 和 SecurityEval 等基準試圖解決這一問題,但因規范不明確且不切實際而受阻,無法準確評估功能和安全性。
為解決這些不足,研究者推出 CWEval,這是一種全新的結果驅動評估框架,旨在加強對大語言模型安全代碼生成的評估。該框架不僅能評估代碼功能,還能憑借高質量的任務規范和結果驅動的測試預言機,同時對代碼安全性進行高精度評估。結合多語言、安全關鍵型編碼基準 CWEval - bench,CWEval 對大語言模型生成的代碼進行了嚴格的實證安全評估,克服了以往基準的缺點。
通過研究者的評估,CWEval 揭示了大語言模型生成的相當一部分功能正常但不安全的代碼,并表明以往評估存在嚴重的不準確之處,最終為安全代碼生成領域做出了重大貢獻。
鏈接:
https://arxiv.org/abs/2501.08200
4. 大語言模型的文本擴散紅隊測試:利用鄰近約束揭示有害行為
簡介:近期研究提出了自動化紅隊測試方法,用于檢測給定目標大語言模型(LLM)的漏洞。這些方法借助紅隊大語言模型,找出會在目標大語言模型中引發有害行為的輸入內容。在本文中,研究者研究了可實現針對性安全評估的紅隊測試策略。研究者提出了一個帶有鄰近約束的紅隊測試優化框架,在該框架下,所發現的提示詞必須與給定數據集中的參考提示詞相似。此數據集作為所發現提示詞的模板,將測試用例的搜索范圍限定在特定主題、寫作風格或有害行為類型上。研究者發現,已有的自回歸模型架構在這種情況下表現不佳。因此,研究者引入一種受文本擴散模型啟發的黑盒紅隊測試方法:用于審計與紅隊測試的擴散(DART)。DART 通過在嵌入空間中對參考提示詞進行擾動來修改它,從而直接控制所引入的變化量。研究者通過將 DART 的有效性與基于模型微調以及零樣本和少樣本提示的現有方法進行比較,對該方法展開了系統性評估。結果表明,在發現與參考提示詞極為相近的有害輸入方面,DART 的效果顯著更佳。
鏈接:
https://arxiv.org/abs/2501.08246
5. Tag&Tab:利用基于關鍵詞的成員推理攻擊檢測大語言模型中的預訓練數據
簡介:大語言模型(LLMs)已成為重要的數字任務輔助工具。其訓練高度依賴大量數據的收集,這些數據可能包含受版權保護或敏感的信息。近期關于檢測大語言模型中預訓練數據的研究,主要集中在句子級或段落級的成員推理攻擊(MIAs),通常涉及對目標模型預測標記的概率分析。然而,這些已提出的方法往往表現不佳,尤其是在準確性方面,未能考慮文本內容的語義重要性和單詞的意義。
為解決這些不足,研究者提出了 Tag&Tab,這是一種用于檢測大語言模型預訓練所用數據的新方法。研究者的方法利用先進的自然語言處理(NLP)技術,對輸入文本中的關鍵詞進行標記 —— 研究者將這個過程稱為 “標記(Tagging)”。然后,利用大語言模型獲取這些關鍵詞的概率,并計算其平均對數似然,以確定輸入文本是否屬于預訓練數據,研究者將這個過程稱為 “排查(Tabbing)”。研究者在三個基準數據集(BookMIA、MIMIR 和 The Pile)以及幾個不同規模的開源大語言模型上進行的實驗表明,與最先進的方法相比,AUC 分數平均提高了 4.1% 至 12.1%。Tag&Tab 不僅為大語言模型中的數據泄露檢測設定了新標準,其出色的性能也證明了單詞在大語言模型成員推理攻擊中的重要性。
鏈接:
https://arxiv.org/abs/2501.08454
6. 負責任的大語言模型綜述:內在風險、惡意使用及緩解策略
簡介:盡管大語言模型(LLMs)在支持眾多實際應用并產生積極社會影響方面具有巨大潛力,但它們在隱私泄露、生成虛假內容以及價值不一致等內在風險方面仍面臨重大挑戰,并且在被突破限制后,可能會被惡意用于生成有害內容和實現不道德目的。因此,在本次綜述中,研究者全面回顧了近期旨在緩解這些問題的進展,按照大語言模型開發與使用的四個階段進行梳理:數據收集與預訓練、微調與校準、提示與推理,以及后處理與審計。研究者詳細闡述了近期在增強大語言模型在隱私保護、減少虛假生成、價值校準、消除有害性以及抵御突破限制等方面性能的進展。與以往僅關注負責任的大語言模型單一維度的綜述不同,本次綜述提出了一個涵蓋這些不同維度的統一框架,為提升大語言模型以更好地服務于實際應用提供了全面視角。
鏈接:
https://arxiv.org/abs/2501.09431