The Hacker Newsはこのほど、「LofyGang Distributed ~200 Malicious NPM Packages to Steal Credit Card Data」によると、「LofyGang」と呼ばれるサイバー攻撃グループがクレジットカード情報などを盗み出す目的で1年間に約200個の悪意のあるNPMパッケージを配布していたことが判明したと伝えた。

当初は異なる攻撃者によるものと考えられていた複数の攻撃キャンペーンが、セキュリティベンダーのCheckmarxの調査によって、LofyGangによって単独で行われたキャンペーンであることが特定され、その全体像が明らかになったとのことだ。

Checkmarxの調査で、LofyGangはすでに1年以上活動を続けており、これまでに少なくとも199個の不正なNPMパッケージが配布され、合計で数千回のインストールが行われたことが分かったという。主な目的は認証情報の盗み出しで、標的となった情報としてはクレジットカード情報やDiscord Nitroのアカウント情報、Disney+をはじめとするストリーミングサービスのアカウント情報、Minecraftのアカウント情報などが挙げられている。

Checkmarxでは当初、2022年9月に発見された2つの悪意のあるパッケージに関する調査を行っていた。しかし、調査を進めるに従って他のパッケージとの関連が明らかになっていき、そのうちの一部がSonatypeやSecureList、およびJFrogによって報告されていた攻撃キャンペーンと紐づいていることが判明したいう。

  • LofyGangによって配布された悪意のあるNPMパッケージの関連図(引用:Checkmarx)

    LofyGangによって配布された悪意のあるNPMパッケージの関連図 引用:Checkmarx

LofyGangに関連するパッケージの完全なリストは、Checkmarxが立ち上げた次のトラッカーWebサイトで公開されている。

これらのNPMパッケージは、主にタイポスクワッティングの手法を用いて拡散されたようだ。タイポスクワッティングは、本物の名称に似せた名前を用いることで、入力ミスなどで誤ってアクセスしてきたユーザーを標的にする手法である。LofyGangではこのタイポスクワッティングに、GitHubのスターやフォーク数によってユーザーを欺くスタージャッキングの手法も組み合わせて使用したと報告されている。

加えて、LofyGangでは悪意のあるコードを含んだパッケージを他のパッケージから直接依存させるのではなく、一見すると無害なパッケージを間に挟む手口も用いたとのことだ。被害者が使用するソフトウェアやパッケージは、悪意のあるパッケージを直接参照していないため、攻撃を検出するのが難しくなる。さらにLofyGangでは、もし悪意のあるパッケージが削除されたとしても、新しい別のパッケージを用意して、削除されていないメインのパッケージの依存関係を書き換えるだけで、攻撃を継続することができる。

  • 無害なパッケージを依存関係の中間に挟むことで検出を予防する(引用:Checkmarx)

    無害なパッケージを依存関係の中間に挟むことで検出を予防する 引用:Checkmarx

The Hacker Newsでは、この調査結果が、悪意のある攻撃者がダウンストリームの顧客を狙った攻撃のための足がかりとしてオープンソースのエコシステムに照準を合わせていることを示していると指摘している。Checkmarxでも、悪意のある目的でオープンソース・ソフトウェアを利用するコミュニティが形成されており、それは今後数カ月で増加するだろうと警告している。