減少機構過多的安全漏洞

OWASP 風險說明

過度自主性是一種安全漏洞,當大型語言模型 (LLM) 獲得不必要或過於寬鬆的權限,可與其他系統互動時,就會發生這種情況。當 LLM 可以呼叫外部工具、外掛程式或函式 (即「代理程式」) 時,這項安全漏洞會允許 LLM 執行非預期、未經授權且可能有害的動作。攻擊者可利用提示注入或其他操弄手法,誘騙 LLM 使用其獲得的代理權,達到惡意目的。核心問題不僅在於大型語言模型可以採取行動,更在於這些行動的範圍過於廣泛,且控管不當。

Android 開發人員應注意的原因

在 Android 應用程式中授予 LLM 過度代理權,可能會導致嚴重安全事件:

  • 未經授權的系統存取權:如果 LLM 具有相應的 Android 權限,攻擊者就能命令 LLM 存取、修改或刪除本機 Android 裝置上的檔案 (例如使用者文件、應用程式資料),或連線的網路資源。
  • 資料外洩:LLM 可能會遭到誤導,從本機應用程式資料庫 (例如 Room)、SharedPreferences 或內部 API 讀取私密資料,然後將該資訊外洩至外部來源 (例如透過 API 呼叫或電子郵件函式傳送)。模型也可能洩漏在訓練階段吸收的敏感資訊,或是使用者在提示中提供的敏感資訊。
  • 危害其他功能/系統:如果 LLM 可控制其他功能 (例如使用隱含意圖傳送簡訊、撥打電話、在社群媒體上發布內容、修改系統設定、進行應用程式內購買),攻擊者可能會劫持這些功能來傳送垃圾內容、散播不實資訊或進行未經授權的交易,導致直接的財務損失或使用者受到傷害。
  • 阻斷服務:LLM 可能會收到指令,在應用程式內或針對後端服務重複執行耗用大量資源的動作,例如執行複雜的資料庫查詢或在迴圈中呼叫 API,導致應用程式沒有回應、耗盡電池電量、耗用過多資料,甚至造成後端系統阻斷服務。

Android 應用程式開發人員的因應措施

如要防範 Android 應用程式中的代理行為過度,請針對 LLM 可存取或觸發的每個工具和函式套用最小權限原則。

限制 AI 的工具箱 (細微與開放式函式):

  • 提供最少的工具:LLM 應只存取在應用程式中執行工作絕對需要的特定工具 (函式、API、意圖)。如果不需要瀏覽網頁或傳送電子郵件,請勿向 LLM 公開這些功能。
  • 使用簡單的單一用途工具:最好提供只能執行特定動作的工具給 LLM (例如「讀取特定類型的使用者設定」),而不是功能強大、用途廣泛的工具 (例如「執行任何殼層指令」)。

限制 AI 的能力

  • 精細的 Android 權限:當 LLM 觸發的功能與 Android 系統資源或其他應用程式互動時,請確認應用程式只要求並保留所需的最低 Android 權限。
  • 使用者專屬權限:當 LLM 代表使用者執行動作時,應使用該使用者的特定權限和情境,而非更廣泛、可能具有管理員權限的應用程式層級帳戶。這項驗證可確保 LLM 無法執行使用者無權執行的任何操作。

由真人掌控 (重要動作須經使用者同意)

  • 要求使用者核准:對於 LLM 可能建議或嘗試執行的任何重要或高風險動作 (例如刪除資料、進行應用程式內購買、傳送訊息、變更重要設定),請務必在 UI 中使用確認對話方塊,要求使用者明確核准。這就像需要經理核准重大決策一樣。

信任但仍須驗證 (輸入/輸出驗證和強大的後端)

  • 後端安全性:不要只依賴 LLM 判斷是否允許某項動作。LLM 觸發函式連線的任何後端服務或 API,都應具備完善的驗證、授權和輸入內容驗證機制,以仔細檢查每項要求,並確認要求合法且符合預期參數。
  • 清除資料:與其他安全漏洞一樣,請務必清除並驗證輸入 LLM 的內容,以及 LLM 為函式呼叫產生的參數,以便在執行任何動作前,偵測到惡意指令或非預期的輸出內容。

摘要

「過度自主性」是嚴重程度「最高」的漏洞,LLM 擁有過於廣泛的權限,可與其他系統或函式互動,因此可能遭到誤導而執行有害動作。這可能會導致 Android 應用程式中的資料遭到未經授權的存取、系統遭入侵、財務損失或使用者受害。緩解措施主要依據最小權限原則:嚴格限制 LLM 可用的工具和 Android 權限、確認每項工具都具備最低限度的特定功能,以及要求所有高影響力作業都須經過人工核准。

其他資源