AI工具加速程式開發的工作流程,然而駭客若是從其中部分環節下手,就有機會發動供應鏈攻擊,左右開發的結果。

資安業者Pillar揭露名為Rules File Backdoor的新型態供應鏈攻擊手法,這種手法針對Cursor與GitHub Copilot兩款AI程式碼編輯器而來,攻擊者藉由看似無害的規則檔案(Rule File),注入隱藏的惡意指引,從而無聲無息地左右AI產生的程式碼。Pillar向Cursor與GitHub通報此事,Cursor表示經過調查,這種弱點並非源自他們;GitHub則認為使用者必須負責檢查GitHub Copilot提供的建議。

藉由在模型面向指令類型(model facing instruction)的酬載埋入Unicode字元,以及運用複雜的迴避偵測手法,能讓攻擊者操弄AI、趁機插入惡意程式碼,藉此繞過典型的程式碼審查作業,研究人員強調,這種手法難以被開發人員與資安團隊察覺,使得惡意程式碼能暗中透過專案進行複製。

這種攻擊手法與鎖定特定資安漏洞的程式碼注入有所不同,Rules File Backdoor將AI的「規則檔案」變成攻擊媒介,而有可能使得受到危害的軟體影響終端使用者,造成重大的資安風險。

什麼是「規則檔案」?這是AI代理程式的組態檔案,用途是引導產生或更動程式碼的行為。這種檔案定義AI撰寫程式碼的標準、專案架構,以及最佳實務。

究竟研究人員如何找到這種漏洞?Pillar Security在調查開發團隊共享AI組態配置的過程裡,發現AI程式碼助理出現漏洞,使得在處理規則檔案提供的情境資訊會出現問題。

在這種攻擊裡,攻擊者可將精心製作的提示嵌入看似正常的規則檔案,一旦開發人員嘗試產生程式碼,有問題的規則就會導致AI產生帶有資安漏洞或是後門的程式碼。

此手法主要運用4種技巧,首先是操控情境,嵌入看起來合法但能竄改AI產生程式碼的行為。

再者,利用零寬度及雙向標記的Unicode字元,或是其他的無法看見的字元,埋藏惡意指引。

第3種技術是語意挾持,這是利用AI透過特定語言特徵理解自然語言的模式,將原本產生程式碼的結果重新導向成帶有弱點的成品。

最後一種則是觸發跨代理程式的弱點,由於這種攻擊能對不同的AI程式碼助理下手,研究人員推測是系統性的漏洞。

研究人員展示如何利用Rules File Backdoor對Cursor與GitHub Copilot,結果透過生成帶有惡意指令碼的HTML網頁檔。針對這些發現,他們呼籲開發人員應稽查現有的規則、導入驗證的程序、部署相關偵測工具,以及對AI產生的程式碼必須進行檢查。

熱門新聞

Advertisement