研究人員近日發現,攻擊者可以利用ChatGPT往往返回虛假信息的習性來傳播惡意代碼包。

這對軟件供應鏈構成了重大風險,因為它可能允許惡意代碼和特洛伊木馬溜入到合法的應用程序和代碼倉庫中,比如npm、PyPI和GitHub 等。

Vulcan Cyber公司oyager18研究團隊的研究人員在近日發布的一篇博文中披露,通過利用所謂的“AI 代碼包幻覺”,威脅分子就可以創建ChatGPT建議的惡意代碼包,而開發人員在使用這種聊天機器人時可能會無意中下載這些代碼包,從而將它們引入到隨后被廣泛使用的軟件中。

在人工智能領域,幻覺是人工智能做出的一種貌似合理的響應,而實際上不充分、有偏誤或完全不正確。之所以會出現幻覺,是由于ChatGPT(以及作為生成式AI平臺基礎的其他大型語言模型即LLM)基于它們在龐大互聯網上能找到的資源、鏈接、博客和統計數據,來回答向它們提出的問題,但這些內容并不總是最可靠的訓練數據。

Voyager18的首席研究人員Bar Lanyado在博文中寫道,由于這種廣泛的訓練和接觸大量文本數據,ChatGPT之類的LLM會生成“看似合理但實則虛假的信息,可能生成看似合理但不一定準確的響應,這是一種以前就已觀察到的現象,似乎歸因于大型語言模型的工作方式。”

他在博文中解釋,在開發者領域,AI 還會針對CVE生成有問題的修復程序,并提供指向不存在的編程庫的鏈接,而后者為不法分子提供了可趁之機。在這種攻擊場景中,攻擊者可能會向ChatGPT尋求常見任務方面的編程幫助,ChatGPT 可能會為未發布或不存在的軟件包提供建議。研究人員表示,攻擊者隨后可以發布他們自己的建議軟件包的惡意版本,等待 ChatGPT 為合法開發人員提供相同的建議。   

   如何利用AI幻覺?

為了證明其概念,研究人員使用ChatGPT 3.5創建了一個場景,其中攻擊者向平臺詢問如何解決一個編程問題,ChatGPT給出了多個軟件包作為響應,其中一些軟件包不存在,即合法的軟件包代碼庫中并未發布。

當攻擊者找到建議的未發布軟件包時,他們可以發布自己的惡意軟件包取而代之。下次用戶提出類似的問題時,他們可能會收到來自ChatGPT的建議,使用現已存在的這個惡意軟件包。

如果 ChatGPT在偽造代碼包,攻擊者可以利用這種幻覺來傳播惡意代碼,而無需使用誤植域名或偽裝之類的熟悉技術,從而創建開發人員可能會在ChatGPT建議的情況下使用所謂的“真實”代碼包。這樣一來,該惡意代碼可以伺機進入到合法的應用程序或合法代碼倉庫中,從而給軟件供應鏈構成重大風險。

Lanyado表示,如果開發人員在編寫代碼時向ChatGPT這樣的生成式AI尋求幫助,可能最終會安裝惡意庫,因為AI認為該惡意庫是真實的,攻擊者可以讓它顯得很真實。狡猾的攻擊者甚至可以制作一個切實可行的庫,作為某種特洛伊木馬,最終可能被未意識到是惡意代碼的多個人所使用。

   如何發覺不良代碼庫?

如果威脅分子有效地混淆了其編寫的代碼,或者使用另外的技術(比如制作一個切實可行的特洛伊木馬程序包),就很難判斷代碼包是不是惡意的。然而,一些方法可以及早發現不良代碼,以免被嵌入到應用程序中或發布到代碼倉庫上。

為此,開發人員需要驗證他們下載的庫,并確保庫不僅執行它們聲稱所能執行的功能,還不是偽裝成合法代碼包的狡猾的特洛伊木馬。當建議來自AI而不是來自同事或社區中值得信任的人時,這一點尤為重要。

開發人員可以通過多種方式做到這一點,比如檢查創建日期;查看下載和評論的數量,或者是否沒有評論和星;查看庫的任何附注。如果有任何可疑之處,在安裝之前請三思而后行。   

   ChatGPT的風險與回報

這種攻擊場景只是ChatGPT 可能帶來的一系列安全風險中的最新一個。該技術自去年 11 月發布以來大行其道,不僅受到用戶的歡迎,還受到熱衷于利用它從事網絡攻擊和惡意活動的威脅分子的歡迎。

僅2023年上半年,就有騙子模仿ChatGPT竊取用戶業務憑據、攻擊者通過惡意ChatGPT擴展來竊取Google Chrome cookie以及網絡釣魚威脅分子使用ChatGPT作為惡意網站的誘餌。

雖然一些專家認為ChatGPT的安全風險可能被夸大了,但風險確實存在,因為人們一下子欣然接受生成式AI平臺來支持其專業工作,并減輕日常工作量的負擔。

Lanyado在博文中寫道,除非你過著與世隔絕的生活,否則會充分感受到生成式AI熱潮,數以百萬計的人在工作中積極采用ChatGPT。

開發人員也無法抵御ChatGPT的魅力,他們由向Stack Overflow等在線資源尋求編程解決方案,轉而向AI平臺尋求答案,這給攻擊者創造了大好機會。

正如歷史所證明,任何能夠迅速吸引堅定用戶群的新技術同樣會迅速吸引旨在利用它為自己謀取機會的不法分子。