生成式AI廣泛受到開發者運用,一旦這類應用程式出現弱點,就有可能遭到利用,藉此影響軟體開發安全。

根據資安業者Legit Security的研究,AI助理GitLab Duo有資安弱點,攻擊者可藉由埋入的註解,導致GitLab Duo洩露開發人員處理的程式原始碼,並且在回應裡注入不受信任的HTML內容。研究人員於2月12日通報此事,GitLab已進行確認並完成修補。

GitLab Duo是以Anthropic開發的大型語言模型Claude為基礎打造的AI助理,於2023年6月推出,後來在去年4月加入了聊天機器人Duo Chat的功能,讓用戶能透過自然語言進行互動。此助理能提供開發人員程式碼建議、審查程式碼安全、分析合併請求(Merge Request,MR)等工作。

而Legit Security在這款人工智慧助理當中,發現遠端提示注入漏洞,攻擊者只要透過Duo Chat,就能從私人專案竊取原始碼、竄改程式碼建議並顯示給其他用戶,甚至還可以洩露機密資訊,或是零時差漏洞。

研究人員也對於攻擊者如何利用漏洞提出說明,首先,攻擊者可在GitLab專案當中,於合併請求的敘述及註解、提交的訊息、問題(Issue)的敘述及註解,或是原始碼等處埋入提示內容。

為了避免這些提示被資安系統察覺意圖,研究人員透過Unicode挾帶(Unicode Smuggling)、Base16演算法、KaTeX渲染手法來達到目的。而這麼做還能讓使用者無法在網站上看到相關提示,但Duo卻會在生成建議的時候存取。

而這些提示的內容,包含了操縱Duo程式碼建議(例如下達指示於輸出結果納入惡意JavaScript套件)、在Duo回應加入惡意URL,以誘騙開發人員存取假的登入網頁,或是說服Duo惡意合併請求其實是安全的,從而誤導審查人員。

一旦使用者向Duo提出問題,此AI助理就會運用攻擊者埋藏的提示,從而導致原始碼洩露。研究人員指出,由於Duo取得的權限與受害者相同,而能夠存取受害者的私人程式碼,若攻擊者再要求Duo進行特定的合併請求,Duo 就可能根據攻擊者提示的內容,此時Duo Chat輸出就會存在弱點,而能用於HTML注入。

熱門新聞

Advertisement