ChatGPT が推奨する OSS パッケージは安全なのか? LLM に悪意を埋め込む PoC が公開

New ChatGPT Attack Technique Spreads Malicious Packages

2023/06/06 InfoSecurity — OpenAI の LLM である ChatGPT を悪用し、開発者たちの環境に悪意のパッケージを拡散させるという、新たなサイバー攻撃手法が登場した。Vulcan Cyber の Voyager18 research team は、先ほど発表したアドバイザリで、この問題について述べている。同社の研究者である Bar Lanyado と、コントリビュータである Ortal Keizman と Yair Divinsky は、「実際には存在しない URL やリファレンスを、さらにはコード・ライブラリや関数を、ChatGPT が生成することが確認されている。このような LLM (Large Language Model) モデルがもたらす幻覚は以前にも報告されていたが、古い学習データの結果として生じている可能性もある」と、技術文書で説明している。


ChatGPT のコード生成機能を悪用する攻撃者は、従来からの typosquatting や masquerading などの方法を用いるのではなく、悪意のコード・ライブラリ (パッケージ) を作成して配布する可能性を持つ。

Vulcan の Lanyado によると、彼の研究チームは「AI パッケージの幻覚」という名の、悪意のパッケージの新たな拡散手法を発見した。

この手法は、ChatGPT に質問を投げかけるところから始まる。コーディングに関する問題を解決するために、ソフトウェア・パッケージを要求すると、正規のリポジトリでは公開されていないものも含め、複数のパッケージが推奨されるという。

それらの、存在が曖昧なパッケージを、攻撃者自身の悪意のパッケージに置き換えることで、ChatGPT の推奨を信頼する潜在的なユーザーを欺くことが可能となる。ChatGPT 3.5 を利用した PoC エクスプロイトが提供され、この潜在的なリスクを説明している。

Vulcan Cyber チームは、「この PoC では、API を使用する攻撃者と、ChatGPT とのの会話を参照することが可能であり、最終的に ChatGPT は、arangodb という名前の未公開の npm パッケージを提案している。それに続いて、模擬攻撃者は悪意のパッケージを npm リポジトリで公開し、無防備なユーザーに罠を仕掛ける」と解説している。

さらに、ユーザーが ChatGPT に対して上記の質問を行い、その時には存在しないパッケージが提案されるという会話が、この PoC では示されている。ただし、このケースでは、攻撃者により対象となるパッケージは、悪意のアーティファクトに差し替えられることになる。したがって、そのパッケージをインストールしたユーザーは、悪意のコードを実行することになる。

Vulcan のアドバイザリによると、脅威アクターたちは難読化の技術を採用し、機能的なトロイの木馬パッケージを作成するという。したがって、「AI パッケージの幻覚」を検出することは困難になるだろう。

こうしたリスクを軽減するために、開発者が確認すべきことは、作成日/ダウンロード数/コメント/添付メモなどであり、対象となるライブラリを慎重に吟味する必要がある。また、ソフトウェアのセキュリティを維持するためには、不審なパッケージに対して。慎重かつ懐疑的であり続けることも重要だ。

先日には、OpenAI が ChatGPT の脆弱性を明らかにし、一部の顧客の支払い関連情報が流出した可能性があることを認めていた。それから数カ月で、この Vulcan Cyber のアドバイザリは提供されている。

これまで、ChatGPT の悪用については、たとえばフィッシングで用いる文章や、ポリモーフィックなマルウェア開発といった領域があると指摘されてきました。しかし、それらだけではなく、OSS パッケージの検索という切り口があり、その際に悪意のリコメンデーションを返すよう、LLM に学習させる PoC が出来上がったとのことです。この手法は、OSS パッケージだけではなく、その他のソフトウェアや文書テンプレートなどにも応用が可能であり、被害が拡大する可能性を秘めています。気をつけましょうね。よろしければ、ChatGPT で検索も、ご利用ください。