圖片來源: 

Ahmad Dirini on unsplash

之前曾有不少惡意程式是藉由冒充ChatGPT的安裝檔案散布,但ChatGPT本身並不是加害者。不過安全風險管理廠商Vulcan公布一份報告卻顯示ChatGPT的幻覺(hallucination)可被駭客當成幫兇,讓用戶從受信任的套件庫下載惡意程式。

近來大家已了解到ChatGPT等大型語言模型(LLM)有AI幻覺問題,並見到它生成不存在的URL、參照甚至程式碼庫及函式。AI幻覺可能正是以舊資料訓練的結果。研究人員因此假設,ChatGPT既能編造出實際上不存在的程式碼庫(套件),也可能讓駭客利用來散布惡意套件,且不需使用常見手法,如誤植套件(typosquatting)或偽裝(masquerading)攻擊。

研究人員先是從開發人員最常諮詢的程式QA網站Stack Overflow,蒐集最多人問的程式語言問題。他們從40種主題(如parsing、serializing、scaping及Flask、ArangoDB、Istio等技術)挑選前100道問題,再以程式語言(如node.js、Python、Go)為條件篩選出來,最後再縮小到詢問「How-to」的問題。

接著他們將蒐集到的How to問題透過API輸入ChatGPT,請它建議套件,並第2次要求它給予更多建議。這目的是模仿攻擊者儘可能在最短時間內從ChatGPT的回應中得到夠多的套件建議。最後研究人員從蒐集到的建議中,查驗出哪些套件實際不存在。研究人員的計畫是,針對捏造出來的套件,他們製作出測試用的套件。這麼一來,可被操控的套件就誕生了。

在Node.js中,ChatGPT產生50個未曾出版過的NPM套件。而在Python中,捏造的pip套件超過100個。

圖片來源_Vulcan

接著,在概念驗證中,研究人員設計一個可被追踨的套件(名為node index.js)並出版到NPM儲存庫中,並設計讓不疑有他的使用者/開發人員下載安裝、執行這個套件。這個PoC套件並非惡意套件,只會回傳用戶主機名稱、安裝目錄的絕對路徑到研究人員主機,用來證實在ChatGPT的幻覺建議下,用戶可能安裝惡意套件。

研究人員建議,對於ChatGPT等生成性AI建議的內容,像是函式庫,應小心確認真偽,以免中了駭客的圈套。有多種方法可用以確認,包括檢查函式庫建立日期、下載次數、用戶的評論(或完全沒有評估或星號),以及函式庫是否提供相關註解文件,有任何疑問者都最好不要下載。

熱門新聞

Advertisement