人工智慧發展日新月異,尤其是最近幾年生成式AI(Generative AI)的突破,讓AI系統能夠生成近乎人類水準的文字、圖像和影音內容,前景令人振奮。不過,這種強大的能力也帶來了一些安全和隱私疑慮,如果缺乏適當的管控措施,生成式AI應用程式有可能被利用來洩漏敏感資料或執行未經授權的操作,風險不容忽視。
本篇文章探討如何以安全為首要考量,來架構生成式AI應用程式。作者指出兩大主要風險:一是資訊外洩,使用者可能透過精心設計的提示,從應用程式獲取原本無權存取的敏感資料;二是權限提升,使用者可能藉由模擬AI應用程式的身分,執行超出原有權限範圍的操作。
為防範這些風險,文中提出幾項最佳實務作法。首先是限制應用程式權限,只允許存取對所有使用者開放的一般性資料和功能,而不能自行讀取敏感訓練數據或呼叫特權API。其次,應以使用者身分來存取敏感資料和執行特權操作,切勿賦予應用程式自身太大權限。另外,應避免將敏感資料放置於用於調整模型的訓練檔案中,以防遭到竊取。
文中並舉例說明錯誤做法可能導致的資料外洩風險,例如讓應用程式能直接存取使用者郵件、人力資源資料庫等敏感來源,或執行修改應用程式設定等特權操作,這都有被濫用的潛在危險。相對的,正確作法是在每次存取敏感資料或執行特權動作前,都先驗證使用者是否有足夠的權限。
為實作這種最佳實務,文章建議善用OAuth驗證機制,並推薦使用LangChain或Semantic Kernel等函式庫,以工具或技能的形式定義取得額外資料或進行行動的方式,每次呼叫這些取得敏感資訊或執行特權動作的工具時,都會附帶使用者的OAuth權證,確保操作獲得適當授權。
另一種做法是運用Microsoft Azure AI Search服務,其內建的使用者授權機制,可在取用底層資料時對使用者權限進行檢核。無論採用哪種技術,核心概念都是在存取敏感資源或執行特權操作前,明確驗證使用者的權限,避免生成式AI應用程式成為資訊外洩或權限被提升的切入點。
總的來說,生成式AI的興起帶來前所未有的便利和創新,但也衍生出新的安全隱憂。開發者有責任在設計階段就將安全列為優先考量,採取完善的存取控制和授權管理機制,讓使用者能安心運用這項革命性技術,將風險降至最低。對AI公司和應用開發商而言,這是一項重大的系統性挑戰,需要通力合作下定重心,才能真正造福世人。
詳情請看:
Best practices to architect secure generative AI applications