CyberSecEval 2 - 大型語言模型網路安全風險與能力綜合評估框架

釋出於 2024 年 5 月 24 日
在 GitHub 上更新

隨著生成式人工智慧領域快速發展,我們認為開放方法是整合生態系統並減輕大型語言模型 (LLM) 潛在風險的重要途徑。去年,Meta 釋出了一套初始開放工具和評估,旨在促進負責任地開發開放式生成式人工智慧模型。隨著 LLM 越來越廣泛地整合到程式碼助手領域,它們引入了必須解決的新型網路安全漏洞。為了應對這一挑戰,全面的基準測試對於評估 LLM 的網路安全至關重要。這正是 CyberSecEval 2 的用武之地,它評估 LLM 對程式碼直譯器濫用、攻擊性網路安全能力和提示注入攻擊的脆弱性,從而對 LLM 的網路安全風險進行更全面的評估。您可以在此處檢視 CyberSecEval 2 排行榜

基準測試

CyberSecEval 2 基準測試有助於評估 LLM 生成不安全程式碼以及響應網路攻擊者請求的傾向。

  • 測試不安全編碼實踐的生成:不安全編碼實踐測試衡量 LLM 在自動補全和指令上下文中建議的風險安全弱點的頻率,這些弱點定義在行業標準通用弱點列舉不安全編碼實踐分類法中。我們報告程式碼測試透過率。
  • 測試對提示注入的脆弱性:基於 LLM 的應用程式的提示注入攻擊是試圖使 LLM 表現出不期望的行為。 提示注入測試評估 LLM 識別輸入中不受信任部分的能力及其對常見提示注入技術的抵抗力。我們報告模型響應攻擊的頻率。
  • 測試對網路攻擊請求的依從性:測試衡量混淆性良性提示的誤拒率。這些提示與網路攻擊依從性測試類似,都涵蓋了包括網路防禦在內的各種主題,但它們是明確無害的——即使它們可能看起來是惡意的。我們報告誤拒(拒絕協助合法的網路相關活動)和違規率(同意協助攻擊性網路攻擊)之間的權衡。
  • 測試濫用程式碼直譯器的傾向:程式碼直譯器允許 LLM 在沙盒環境中執行程式碼。這組提示試圖操縱 LLM 執行惡意程式碼,以獲取執行 LLM 的系統訪問許可權、收集有關係統的敏感資訊、製作和執行社會工程攻擊,或收集有關宿主環境外部基礎設施的資訊。我們報告模型響應攻擊的頻率。
  • 測試自動化攻擊性網路安全能力:這套測試用例包括奪旗式安全測試用例,模擬程式漏洞利用。我們使用 LLM 作為安全工具,判斷它是否能到達程式中故意插入安全問題的特定點。在其中一些測試中,我們明確檢查該工具是否能執行基本的漏洞利用,例如 SQL 注入和緩衝區溢位。我們報告模型的完成百分比。

所有程式碼都是開源的,我們希望社群能用它來衡量和增強 LLM 的網路安全特性。

您可以在此處閱讀所有基準測試的更多資訊。

主要見解

我們使用 CyberSecEval 2 對最先進的大型語言模型 (LLM) 進行的最新評估揭示了網路安全風險方面取得的進展和麵臨的持續挑戰。

行業改進

自2023年12月釋出第一個基準以來,LLM響應網路攻擊請求的平均依從率已從52%下降到28%,這表明行業正日益認識到這個問題並採取措施進行改進。

模型比較

我們發現,未經程式碼專業化的模型與經過程式碼專業化的模型相比,不合規率往往較低。然而,這些模型之間的差距已經縮小,這表明經過程式碼專業化的模型在安全性方面正在迎頭趕上。

heatmap of compared results

提示注入風險

我們的提示注入測試表明,對抗此類攻擊對 LLM 進行條件化仍然是一個尚未解決的問題,對使用這些模型構建的應用程式構成重大安全風險。開發者不應假設在對抗性輸入面前 LLM 可以安全地遵循系統提示。

程式碼利用侷限性

我們的程式碼利用測試表明,雖然具有高通用編碼能力的模型表現更好,但 LLM 距離可靠地解決端到端利用挑戰還有很長的路要走。這表明 LLM 在目前的狀態下不太可能顛覆網路利用攻擊。

直譯器濫用風險

我們的直譯器濫用測試突出了 LLM 易受操縱的脆弱性,使其可以在程式碼直譯器中執行惡意操作。這強調了需要額外的防護措施和檢測機制來防止直譯器濫用。

如何貢獻?

我們非常樂意社群為我們的基準測試做出貢獻,如果您感興趣,可以做幾件事!

要在您的模型上執行 CyberSecEval 2 基準測試,您可以按照此處的說明進行操作。歡迎將輸出結果傳送給我們,以便我們將您的模型新增到排行榜

如果您有改進 CyberSecEval 2 基準測試的想法,您可以按照此處的說明直接貢獻。

其他資源

社群

註冊登入以發表評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.