Twilioのバグ報奨金調査を偽装した悪意あるnpmパッケージが確認される——認証情報の窃取やコード注入を試行
要点
-
Twilioの開発者を標的とし、バグ報奨金(バグバウンティ)調査を装って認証情報の窃取などを試みる悪意あるnpmパッケージ「tw-pkgprobe-7731」が発見された。
-
2026年8月中旬に約45分という極めて短い時間で11個のバージョンが連続して公開され、バージョンごとに機能の追加や削除が繰り返されていた。
-
アカウントSIDや認証トークンを環境変数から盗み出して外部へ送信する機能や、ローカル環境にPoCパッケージを注入する機能が含まれていた。
-
セキュリティ企業ReversingLabsは、Twilioの公式調査ガイドラインに違反しており悪意ある意図を持った攻撃と分析している。
-
該当するパッケージとアカウントはすでにnpmから削除されており、Twilio側はシステムや顧客データの侵害は確認されていないと発表している。
-
Twilioの開発環境を標的とし、正規のセキュリティ調査を装いながら機密情報の窃取などを試みる悪意あるnpmパッケージが発見された。セキュリティ企業ReversingLabsの研究者が2026年9月に公開したレポートによって明らかになった。問題のパッケージは短時間の間にバージョンアップを繰り返し、Twilioの認証情報流出やコードの注入などを試みていたという。
わずか45分間で11バージョンを連続公開
今回確認されたのは、「tw-pkgprobe-7731」と名付けられたnpm(JavaScriptのパッケージ管理システム)パッケージである。ReversingLabsによると、このパッケージは2026年8月中旬に「twdepprobe7731」というアカウントによってnpmレジストリへ初めて登録された。特筆すべきは公開のペースで、約45分という極めて短い時間の間に、合計11個のバージョンが相次いで公開されていた。なお、このアカウントは現在すでに削除されている。
パッケージのソースコード内のコメントには、「Twilio HackerOneプログラムにおける公認のバグバウンティ(脆弱性を発見した研究者に報奨金を支払う制度)調査プローブ」であると記されていた。さらに、「Twilioのサーバーレスパッケージ作成用サンドボックス内でのみ動作し、ローカルのプロセスやホストの状況を収集して自身の隣に出力するだけであり、破壊的な動作は行わない」と説明し、あたかも正規のセキュリティ検証活動であるかのように偽装していた。
開発環境の判定から認証情報の窃取・コード注入へ
しかし実際の挙動は、コメントの主張とは大きく異なっていた。初期バージョンであるバージョン1.0.0では、実行時に対象がTwilioの開発環境であるかどうかを確認し、該当しない場合は即座に終了する仕組みを持っていた。条件を満たした場合には、環境変数やマウント情報、一時フォルダ、各種設定などのシステム詳細を収集し、Webhook(Webサービス間でデータを自動送信する仕組み)を通じて外部へ情報を送信していた。
その後公開されたバージョン1.0.1、1.0.2、1.0.3では、TwilioのAPIを利用している開発者を狙い、特定のアカウントSID(Twilioのアカウントやリソースを一意に識別する文字列)に紐づくフォルダを探索する動作が追加された。特定のSID名を持つフォルダが存在しない場合には、インストールされているnpmパッケージや「node_modules」ディレクトリをスキャンし、「package.json」や「index.js」を含むカスタムPoCパッケージを注入する処理を行っていたという。
さらにバージョン1.0.4では、環境変数から「process.env.ACCOUNT_SID」および「process.env.AUTH_TOKEN」を盗み出して外部へ送信する機能が組み込まれた。これらの情報が攻撃者の手に渡った場合、被害者のTwilio認証情報が悪用され、不正な課金承認や勝手な通信の実行などが可能になる重大なリスクがあった。
突然の機能削除と公開情報の収集活動
一方で、後半に公開されたバージョンでは不可解な変化が見られた。バージョン1.0.8、1.1.0、1.1.1の最後の3つのバージョンでは、直前のバージョンで追加されていた悪意ある機能が削除され、初期のバージョン1.0.0に見られたような基本的な調査機能へと巻き戻されていた。
加えて、最後の2つのバージョン(1.1.0および1.1.1)では、「support-api.us1.twilio.com」「kafka-ui.au1.twilio.com」「litellm.ai-services.corp.twilio.com」といったTwilio関連の各種ホストを探索したり、AWSのメタデータ取得エンドポイント「169.254.169.254/latest/meta-data/」へアクセスしたりする、OSINT(公開情報を収集・分析する手法)活動を行っていたことが確認されている。
ガイドライン違反と攻撃者の手口
ReversingLabsの研究者であるLucija Valentić氏は、このような一連の挙動の変化について、最終的な目的が何であったのか、また実際にバグバウンティプログラムの一環として公開されたのかは明確ではないとしつつも、パッケージがTwilioの定める正規の調査手順に反していると指摘している。TwilioがHackerOne上で提示しているセキュリティ調査の基本ガイドラインに明確に違反していることから、悪意を持った活動であったと考えられるという。
Valentić氏によると、攻撃者は一部のリリースで悪意ある機能を無害に見えるコードで取り繕おうとした形跡はあるものの、悪質なコードを隠蔽したり活動を隠そうとしたりする本格的な試みは見られなかった。過去の攻撃キャンペーンで頻繁に確認されるようなコードの難読化(分析を妨害する加工)や、タイポスクワッティング(有名パッケージと紛らわしい類似名を付ける手法)、アカウントの信頼性を装う工作などは行われておらず、技術的にそれほど高度ではない攻撃者による犯行であることが示唆されている。
Twilio側の見解と現在の状況
今回の事態を受け、Twilioの広報担当者はThe Hacker Newsの取材に対し、問題のnpmパッケージはすでに削除されており、同社のシステムが侵害された証拠はないと回答した。
広報担当者は「Twilioにおいてセキュリティインシデントは発生しておらず、当社のシステムおよび顧客データは安全であり侵害されていない」と述べた上で、公開されているソフトウェアパッケージをダウンロードして利用する際には、常に十分な注意を払うよう組織や開発者に強く呼びかけている。