Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】NPM package caught using QR Code to fetch cookie-stealing malware

2025年09月23日に「BleepingComputer」が公開したITニュース「NPM package caught using QR Code to fetch cookie-stealing malware」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

ユーティリティライブラリを装ったNPMパッケージ『fezbox』が、QRコードにクッキーを盗むマルウェアを隠していた。これは、Webブラウザから認証情報などの機密データを不正に入手する巧妙な手口だ。

ITニュース解説

最近、ソフトウェア開発で広く利用されている「NPM(Node Package Manager)」という仕組みが悪用され、悪意のあるソフトウェアが配布される事件が報告された。このNPMパッケージは「fezbox」と名乗り、一見すると開発に役立つ普通の「ユーティリティライブラリ」に見せかけていたが、実際にはユーザーのコンピューターから重要な情報を盗み出すための「マルウェア」を仕込んでいたのだ。この攻撃の手口は非常に巧妙で、一般的なQRコードを悪用してマルウェアを隠していた点が注目される。

まず、NPMとは何かについて説明しよう。NPMは、JavaScriptというプログラミング言語で書かれたソフトウェア部品(パッケージ)を世界中の開発者が共有し、自分のプロジェクトで利用するための仕組みだ。たくさんの便利な機能がパッケージとして提供されており、開発者はゼロからすべてを作る手間を省き、効率的にソフトウェアを開発できる。そのため、多くのシステムエンジニアが日常的にNPMパッケージを利用している。しかし、この便利さの裏側には、もし悪意のあるパッケージが紛れ込んだ場合、それが多くの開発者のプロジェクトを通じて最終的に一般ユーザーのコンピューターにまで広まってしまう危険性も潜んでいる。

問題のパッケージ「fezbox」は、まさにこのNPMの仕組みを悪用した。開発者がこのパッケージを自分のプロジェクトに組み込んでしまうと、その開発者が作ったアプリケーションやウェブサイトを使うユーザーのコンピューターにまで、このマルウェアが到達する可能性が出てくる。この「fezbox」は、一見すると何の変哲もない一般的な機能を提供するライブラリのように装っていた。これにより、開発者は疑うことなくこのパッケージを導入してしまったかもしれない。

このマルウェアの主な目的は、ユーザーのWebブラウザに保存されている「クッキー(cookie)」という情報を盗み出すことだ。クッキーとは、Webサイトが私たちのWebブラウザに保存する小さなデータのこと。例えば、一度ログインしたサイトに次回アクセスしたときに、再度パスワードを入力しなくてもログイン状態が維持されているのは、クッキーのおかげだ。また、ショッピングサイトでカートに入れた商品情報が残っていたり、Webサイトの言語設定が記憶されていたりするのもクッキーの働きによるものだ。つまり、クッキーにはユーザーの認証情報やセッション情報など、非常にデリケートな情報が含まれていることが多い。もしこのクッキーが盗まれてしまうと、攻撃者はユーザーのアカウントに不正にログインしたり、ユーザーになりすましてWebサービスを利用したりすることが可能になってしまう。これは、個人情報の漏洩だけでなく、金銭的な被害にもつながりかねない深刻な問題だ。

今回の攻撃で特に注目すべきは、そのマルウェアの隠し方だ。通常、マルウェアはファイルの中に直接埋め込まれたり、特定のURLからダウンロードされたりする。しかし「fezbox」は、なんと「QRコード」を悪用してマルウェアを配布した。QRコードは、スマートフォンなどで読み取ることでWebサイトのURLやテキスト情報などを簡単に取得できる便利なツールとして広く普及している。ところが「fezbox」は、このQRコードの中に、マルウェアの本体である「第二段階のペイロード」を隠していたのだ。

第二段階のペイロードとは、最初に侵入した悪意のあるプログラムが、さらに別の大きな悪意のあるプログラム(マルウェア本体)をダウンロードして実行する仕組みのことだ。最初から大きなマルウェアを送り込むと検出されやすいが、まず目立たない小さなプログラムを送り込み、それが後から本体を呼び出すことで、セキュリティ対策の目をかいくぐろうとする。今回のケースでは、その「後から呼び出す本体」の情報を、QRコードという一見無害な画像の中に「ステガノグラフィー」という技術を使って隠していたのである。ステガノグラフィーとは、情報そのものを隠すのではなく、情報が存在すること自体を隠す技術のことだ。画像データや音声データの中に、別のデータを紛れ込ませることで、見た目には普通のファイルでありながら、実は秘密の情報が隠されているという状態を作り出すことができる。

具体的には、「fezbox」パッケージが実行されると、内部に仕込まれたコードが、まるで普通の画像であるかのように見えるQRコードのデータを解析し、そこに隠されたマルウェアのダウンロードURLを抽出する。そして、そのURLから実際にクッキーを盗むためのマルウェア本体がダウンロードされ、ユーザーのコンピューター上で実行される。これにより、ユーザーのWebブラウザから機密性の高いクッキー情報、特にユーザー名やパスワードといった認証情報が攻撃者の元へ送信されてしまう。

このような手口は、セキュリティ対策ソフトによる検出を困難にする狙いがある。通常のセキュリティスキャンでは、画像ファイルの中に悪意のあるコードが含まれているとは想定しにくく、また、マルウェアのダウンロード元が直接コードに書かれているわけではないため、動的な解析がなければその危険性を見抜くのは難しい。開発者がパッケージを導入する際にも、画像ファイルが悪意のある行動につながるとは考えにくいため、警戒が薄れがちになる。

この事件は、NPMのようなオープンソースのパッケージエコシステムを利用する上での注意喚起となる。便利なツールである一方で、その中に悪意のあるものが紛れ込むリスクも常に存在することを忘れてはならない。システムエンジニアを目指す上では、利用するライブラリやツールが信頼できるものか、その提供元は確かか、常に注意を払うことが非常に重要だ。また、開発環境や本番環境のセキュリティ対策を怠らず、怪しい挙動がないか監視することも欠かせない。Webアプリケーション開発においてクッキーは不可欠な存在だが、その扱いには最大限の注意を払い、万が一漏洩した際のリスクを最小限に抑える対策も検討すべきだ。今回の事件は、巧妙な手段で個人情報を狙うサイバー攻撃の進化と、それに対する常に警戒心を持つことの重要性を示している。

関連コンテンツ

関連IT用語

関連ITニュース