• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 3 月 19 日下午 2 點,鎖定 NVIDIA AI 網絡中文專場。立即注冊觀看
    網絡安全/欺詐檢測

    代理自主級別與安全性

    智能體工作流是 AI 賦能工具的下一次演進。它們使開發者能夠將多個 AI 模型關聯在一起以執行復雜的活動,使 AI 模型能夠使用工具來訪問其他數據或自動執行用戶操作,并使 AI 模型能夠自主運行,以盡可能減少人類參與或交互的方式分析和執行復雜的任務。

    由于其強大的功能,代理工作流也存在風險因素。代理系統的核心最常見的模型仍然是各種 LLM,如果可以將不受信任的數據引入系統,這些模型仍然容易受到 prompt injection 的影響。

    為幫助評估和緩解這些漏洞,NVIDIA 提供了一個 Agentic Autonomy 框架,我們將其用于以下用途:

    • 了解與日益復雜的 AI 工作流相關的風險
    • 幫助模擬和減輕此類工作流程帶來的風險
    • 介紹如何使用它對 agentic 系統的威脅進行建模

    操控自主系統

    在實踐中,開發 AI 賦能的應用需要兩個關鍵組件:

    • 對手必須能夠通過某種機制將其數據 (讀取:攻擊) 傳入系統。
    • 必須存在其惡意數據可能觸發的下游影響。

    當系統的 AI 組件是 LLM 時,這通常被稱為直接提示注入 (對手和用戶是同一個人) 或間接提示注入 (對手和用戶可以是不同的人)。

    然而,對于 AI 驅動的自主應用中使用的其他類型的 AI 模型,也存在類似的威脅。這兩種提示注入的根源在于 LLM 架構中控制平面和數據平面之間缺乏分離。

    直接提示注入通常出現在“Do Anything Now”(或 DAN)提示等示例中,這些示例試圖顛覆訓練到模型中的安全和內容過濾器,并使其產生令人反感或不需要的內容。這些攻擊通常只影響活躍用戶的會話,因此通常影響有限。

    間接提示注入 (即威脅行為者將其數據包含在其他用戶的會話中,從而控制 LLM 的行為和生產) 更為重要。這通常通過定位檢索增強生成 (RAG) 工具 (包括互聯網搜索) 使用的數據源來實現,這樣就會在不知情的情況下將包含惡意指令的文檔包含在當前用戶的會話中。當操控其他用戶會話 (尤其是 LLM 輸出) 的能力與工具的使用相結合時,會出現大量新的潛在風險。

    當潛在的不可信任數據進入代理系統時,該系統采取的任何下游操作都可能受到對手的控制。

    AI 自主領域的安全性和復雜性

    早在“代理式”AI 成為一類獨特的產品之前,按序列編排 AI 工作負載就已屢見不鮮。即使是簡單的流程 (例如端點安全產品,根據文件格式將樣本路由到由 AI 驅動的正確分析引擎) 也可以說是此類工作流的示例。

    此類工作流程具有確定性,因此您可以直接列舉所有可能的路徑,繪制數據流地圖,并將不受信任的數據與可能受攻擊者控制數據影響的潛在風險操作隔離開來。

    隨著行業轉向擁有更多內部決策能力、更高工具使用率以及模型組件之間更復雜交互的系統,潛在數據流路徑的數量呈指數級增加,從而增加了威脅建模的難度。

    以下分類將系統從最不自主排序為最自主排序,可區分不同架構提供的不同自主程度,并有助于評估相應的風險。

    自主級別 說明 示例
    0 – 推理 API 單個用戶請求會導致對單個模型進行一次推理調用。 為單個模型提供服務的 NVIDIA NIM 微服務
    1 – 確定性系統 單個用戶請求會按不依賴于用戶輸入或推理結果的預定順序觸發多個推理請求 (可以選擇觸發多個模型)。 NVIDIA 生成式虛擬篩選藍圖
    2 – 弱自主系統 單個用戶請求會觸發多個 inference 請求。AI 模型可以確定是否或如何調用插件,或在固定的預定決策點執行額外 inference。 構建企業 RAG Pipeline Blueprint
    3 – 全自主系統 根據用戶請求,AI 模型可以自由決定是否、何時或如何調用插件或其他 AI 模型,或者自由修改自己的計劃,包括決定何時將控制權交回給用戶。 針對容器安全藍圖“BabyAGI”、計算機使用代理的 NVIDIA 漏洞分析
    表 1. 系統自主級別分類

    1 級

    1 級是線性調用鏈,其中一個 AI 調用或工具響應的輸出以完全確定的方式傳輸到下一步。通過系統的完整數據流是預先知道的。

    A diagram shows three icons displaying levels of autonomy between input and output, an icon for an AI model, one for tool response, and the AI model icon repeated.

    圖 1. 第一級自動駕駛

    2 級

    在第 2 級中,AI 模型的輸出可能會以數據依賴的方式在工作流中沿不同路徑發送。雖然可以追蹤每個執行路徑,但在工作流執行之前,我們不知道使用的是哪種執行路徑。

    A multilayer flow diagram shows a three-branch chain of AI calls and tool responses, using the icons of AI model and tool response.

    圖 2、AI 調用和工具響應的線性鏈

    它形成了有向無環圖,因為工作流中沒有可能形成循環或循環的路徑。所有可能的路徑都可以有限枚舉。大多數 LLM 路由器都屬于這一級別。

    3 級

    對于級別 3,潛在執行路徑的數量會隨著工作流中執行步驟的數量呈指數級增長。隨著工作流的進展,可能會調用工具或其他 AI 模型。

    A multilayer flow diagram shows the AI model and tool response icons on different output paths.

    圖 3、AI 模型的輸出路徑不同

    有向圖形中存在循環意味著圖形中存在呈指數級增加(至少理論上可能是無窮大)的路徑。通常無法提前列舉所有可能的路徑,也無法預測特定輸入將使用哪種特定路徑。

    安全邊界分析與工具安全性分離

    我們早期在現場分析和保護代理系統的經驗使我們意識到,與這些系統相關的風險主要在于這些系統可用的工具或插件。在缺乏可執行敏感或物理操作的工具或插件的情況下,無論工作流程的復雜程度如何,操作 AI 組件所帶來的主要風險都是錯誤信息。

    這一觀察結果決定了此框架與其他框架 (例如 Hugging Face 在其 smolagents 庫 (Introduction to Agents) 中提出的框架) 之間的主要區別,前者側重于安全邊界,而后者不同于工具安全邊界。一些層次非常相似。他們的簡單處理器近似為 確定性系統 ,并且他們的多步驟智能體緊密地映射到完全自主的系統上。

    但是,鑒于 AI 組件在描述程序流時表示的自主程度,此框架重點關注識別安全邊界的難度。Hugging Face 對機構的描述將工具使用的風險與程序流程的復雜性相結合,提供了在系統層面判斷系統風險的快速指南。此框架將工具調用和工具使用的風險與繪制安全邊界的難度分開,支持對復雜流程和潛在緩解措施進行更詳細的威脅建模。

    在建議的框架中,通過分離以下問題,您可以更具體地評估由 agentic workflow 帶來的風險:

    • 與通過系統的非可信數據流相關的安全邊界
    • 代理系統調用的特定函數或工具的安全屬性

    在具有明確安全邊界的簡單確定性系統中,如果您能夠將敏感插件與不信任的輸入明確分開,即使是敏感插件也可能風險較低。同樣,只要沒有可用的敏感工具,且系統的輸出在使用前經過適當驗證,則即使是全代理系統也可能相對風險較低。

    然而,將更復雜的工作流程與敏感工具相結合需要進行進一步分析,以確保安全操作。

    此框架下的威脅建模

    自動駕駛級別的增加本身并不代表風險的增加。相反,它們代表著系統行為越來越缺乏確定性和可預測性,這使得評估不可信任數據的影響變得更加困難。

    與代理系統相關的風險主要存在于系統可以訪問的工具或插件中,而這些工具或插件可以執行敏感操作,其中包括以下示例:

    • 完成購買
    • 發送電子郵件
    • 物理動作,例如移動機器人或設置 thermostat

    從廣義上講,任何代表用戶采取行動且需要其授權才能完成的操作,或任何導致系統發生物理變化的操作,都應被視為潛在的敏感數據,并分析其對不受信任數據采取行動或受其影響的可能性。

    降低此工具風險在很大程度上依賴于能否阻止攻擊者向插件中注入惡意數據,而隨著自主級別的提升,這一能力會變得更加困難。

    可能的下游影響更多取決于系統的細節和使用的插件,但至少必須假定能夠向系統提供惡意數據的威脅行為者至少能夠影響(如果不是完全控制)系統的響應。

    如果使用工具或插件,潛在威脅會顯著增加。控制嵌入到使用工具的系統中的 AI 模型的輸出的壞行為者也可能能夠控制使用哪些插件以及這些工具執行哪些操作。這可能會導致一系列威脅:

    • 數據泄漏,例如通過 Markdown 渲染插件
    • 遠程執行代碼,例如,通過運行 LLM 提供的代碼的插件
    • 如果系統控制或影響某種物理系統,則會產生物理傷害風險

    在提升自主層次結構時,您需要更仔細地分析和管理潛在的不可信任數據(圖 4 和圖 5)。

    從這個角度來看,沒有不可信數據向量的 Level 0 系統相對簡單。

    具有預定工作流的 1 級系統始終可以按相同順序訪問相同的數據源、模型和工具,從而可以直接確定是否可以將不可信任的數據引入工作流。設計師可以將敏感功能與非可信數據隔離開來,或者為這些數據設計合適的清理策略。

    2 級系統中的潛在執行路徑數量大于 1 級系統,但仍可枚舉,并且可以更詳細地分析包含非可信數據的特定路徑。

    3 級自主系統的難度最大,因為執行路徑的數量通常隨智能體執行的自反射步驟的數量呈指數級增長。在這種情況下,這些措施包括使用時間清潔、使用時間污點追蹤或其他風險緩解措施,例如要求用戶手動批準潛在的危險操作。

    污點追蹤

    污點追蹤 將執行流程標記為接收了不可信任的數據,然后阻止對任何敏感工具的使用或要求對其進行手動重新授權。

    對于 1 級和 2 級系統,識別潛在來源的不可信數據,以及評估下游影響的風險相對簡單。當不可信數據進入系統時,每個下游 AI 模型及其關聯輸出、每個下游工具及其關聯操作和輸出也同樣不可信。

    A flow diagram shows the downstream risks of untrusted data.

    圖 4、不可信來源的污點可以在 Level 1 和 Level 2 系統中進行限制和列舉

    對于 level 3 級系統,在一般情況下,污點追蹤幾乎難以解決。當不受信任的數據引入工作流后,它有可能通過 level 3 級工作流固有的循環結構傳播到任何其他下游組件。

    A flow diagram shows the propagation of untrusted data between the first step and second step.

    圖 5、來自不可信來源的污點很難在 Level 3 級系統中綁定和列舉

    通過將代理應用程序分類為正確的級別,可以更簡單地識別應用程序構成的總體風險水平以及相應的安全要求。

    表 2 簡要概述了一些建議的緩解控制,這些控制應放置在不同自主級別的 agents 周圍。并非所有 agents 工作負載都需要所有控件,具體取決于為工作負載提供的工具的靈敏度。

    自主級別 推薦的安全控制
    0 – 推理 API 使用標準 API 安全性。
    1 – 確定性系統 手動追蹤數據流并正確訂購工作流,以防止不受信任的數據進入敏感插件。
    2 – 有界限的代理工作流 列舉數據流、識別具有潛在不可信任數據的數據流、探索隔離或清理選項,并考慮使用時間手動批準敏感操作。
    3 – 全自主系統 實現污點追蹤和強制清理對可能不可信的數據。考慮使用時間手動批準敏感操作。
    表 2. Recommended security controls by level

    對于 0 級系統,您可以應用簡單的應用程序和 API 安全性。由于系統無法根據 AI 模型輸出進行進一步交互,因此整體風險主要局限于非 AI 組件。

    1 級和 2 級系統的風險水平略高,但評估起來很簡單。由于這些系統不包含循環,因此可以詳盡無遺地列舉和檢查流經系統的所有執行流程,以備不時之需。

    當此類流通過源和接收端之間的 LLM 時,風險特別大。在 1 級系統中,通常只需重新排列工作流程即可。對于更復雜(2 級)的系統,應仔細評估從不受信任的來源到敏感匯的風險流,以確定是否可以消除這些流,或者是否可以適當清除不受信任的數據或敏感工具的輸入,以消除風險。

    最后,如果流程無法重新排列或消除,或無法進行可靠的清理,請為可能會接收不受信任數據的敏感工具添加使用時間手動審批,從而讓用戶進入循環。這使得代理工作流的用戶能夠在執行風險操作之前檢查這些操作,并使工作流無法執行對抗性操作。

    由于 Level 3 級系統的復雜性,通常無法進行有意義的重新排列,以將不受信任的源阻塞到敏感的接收流。在這種情況下,應在檢索時清除不受信任的數據。

    如果可能,還應該考慮實施污點追蹤。如果兩者都無法實現,則僅要求所有潛在敏感的工具在執行其功能之前需要手動批準即可將其用作最后手段。

    與威脅建模一樣,將代理工作負載分解為不同的復雜性級別有助于快速確定合理的安全控制,從而避免讓敏感工具提取不受信任數據 (包括通過提示注入操作的 LLM 輸出) 的風險。

    結束語

    隨著系統對自動駕駛層次結構的要求越來越高,這些層次結構變得越來越復雜,預測難度也越來越大。這使得威脅建模和風險評估變得更加困難,尤其是在存在各種數據源以及具有不同可靠性和靈敏度的工具的情況下。

    確定系統自主級別為評估系統復雜性、威脅建模以及必要的安全控制和緩解措施所需的工作量水平提供了有用的框架。

    分析管道中的插件并根據其功能對其進行分類也很重要,以便根據自主級別提供準確的風險評估。

    ?

    ?

    0

    標簽

    人人超碰97caoporen国产