NPM

6/8/25更新:新情報により記事が更新されました。

100万ダウンロードを超える人気のGluestack「@react-native-aria」パッケージ17個が、リモート・アクセス・トロイの木馬(RAT)として動作する悪意のあるコードを含む危険にさらされ、重大なサプライチェーン攻撃がNPMを襲いました。

この侵害は、@react-native-aria/focusパッケージの新バージョンがNPMに公開された6月6日午後4時33分(米国東部標準時)に始まったと判断された。それ以来、Gluestackの@react-native-ariaパッケージ20個のうち17個がNPM上で侵害されており、脅威行為者は2時間前にも新バージョンを公開しています。

Ongoing compromise of NPM packages
NPM パッケージの継続的な侵害
Source

このサプライチェーン攻撃は、サイバーセキュリティ企業Aikido Securityによって発見された。AikidoSecurityは、以下のパッケージのlib/index.jsファイルに難読化されたコードが注入されていることを発見した:

パッケージ名 バージョン 週間ダウンロード
react-native-aria/ボタン 0.2.11 51,000
チェックボックス 0.2.11 81,000
リアクトネイティブアリア/コンボボックス 0.2.10 51,000
リアクトネイティブアリア/ディスクロージャー 0.2.9 3
リアクト・ネイティブ・アリア/フォーカス 0.2.10 100,000
リアクト・ネイティブ・アリア/インタラクション 0.2.17 125,000
リアクトネイティブアリア/リストボックス 0.2.10 51,000
リアクトネイティブリア/メニュー 0.2.16 22,000
リアクトネイティブアリア/オーバーレイ 0.3.16 96,000
リアクトネイティブアリア/ラジオ 0.2.14 78,000
リアクトネイティブアリア/スイッチ 0.2.5 477
リアクトネイティブアリア/トグル 0.2.12 81,000
リアクトネイティブアリア/ユーティリティ 0.2.13 120,000
グルスタックUI/ユーティリティ 0.1.17 55,000
リアクトネイティブアリア/セパレータ 0.2.7 65
リアクトネイティブアリア/スライダー 0.2.13 51,000
リアクトネイティブアリア/タブ 0.2.14 70,000

これらのパッケージは非常に人気があり、毎週約102万ダウンロードされており、これは広範囲に影響を及ぼす可能性のある大規模なサプライチェーン攻撃である。

悪意のあるコードはかなり難読化されており、ファイルのソースコードの最終行に追加され、多くの空白で埋め尽くされているため、NPMサイトのコードビューアーを使用しても簡単には発見できません。

Malicious code added to end of index.js file
index.jsファイルの最後に追加された悪意のあるコード
ソースは こちら:

Aikidoによると、この悪質なコードは、先月彼らが発見した別のNPMの侵害に含まれるリモート・アクセス・トロイの木馬とほぼ同じだという。

前回のキャンペーンに関する研究者の分析によると、リモート・アクセス・トロイの木馬は攻撃者のコマンド・アンド・コントロール・サーバーに接続し、実行するコマンドを受信すると説明している。

これらのコマンドには以下が含まれる:

  • cd – 現在の作業ディレクトリを変更する
  • ss_dir – ディレクトリをスクリプトのパスにリセットする
  • ss_fcd:<path> – ディレクトリを強制的に<path>に変更する。
  • ss_upf:f,d – ファイル f をアップロード先 d にアップロードする
  • ss_upd:d,dest – ディレクトリ d 以下のすべてのファイルを保存先 dest にアップロードする
  • ss_stop – 停止フラグを設定し、現在のアップロード処理を中断する
  • その他の入力 – シェルコマンドとして扱われ、child_process.exec() によって実行されます。

このトロイの木馬はまた、PATH環境変数に偽のPythonパス(%LOCALAPPDATA%ProgramsPython3127)を前置することで、WindowsのPATHハイジャックを実行し、マルウェアが正規のpythonコマンドやpipコマンドを黙って上書きし、悪意のあるバイナリを実行することを可能にします。

Aikidoのセキュリティ研究者であるCharlie Eriksen氏は、Gluestackの各リポジトリにGitHub issueを作成し、この侵害についてGluestackに連絡を取ろうとしているが、現時点では何の反応もない。

「パッケージメンテナからの応答はありません(米国では土曜日の午前中で、それがまさに今起きている理由でしょう)。

「NPM に連絡し、各パッケージを報告しましたが、通常 NPM が対応するのに数日かかるプロセスです。

Aikido氏はまた、この攻撃は今週初めにbiatec-avm-gas-stationcputil-nodelfwfinance/sdklfwfinance/sdk-devという他の4つのNPMパッケージを侵害したのと同じ脅威行為者によるものだとしている。

この漏洩したパッケージについて Gluestack に問い合わせたが、現時点では回答は得られていない。

更新 6/8/25: この記事の公開後、GlueStackのNPMである@react-native-aria/tabsがさらに漏洩していることが発見され、週間総ダウンロード数は100万を超えました。

GlueStackは現在、侵害されたパッケージの公開に使用されたアクセストークンを取り消し、NPM上で非推奨とマークされています。

「GlueStackの開発者がGitHubに投稿した。

“緩和策として、影響を受けたバージョンを非推奨とし、安全な古いバージョンを指すように最新のタグを更新しました。”

.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:10px 20px; width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; text-align: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px; width: 100%; } .ia_button { width: 100%; } .

ITチームが手作業によるパッチ管理をやめる理由

かつてはパッチ適用といえば、複雑なスクリプト、長時間の作業、終わりのない消火訓練が必要でした。今は違います。

この新しいガイドでは、Tines氏が最新のIT組織が自動化によってどのようにレベルアップしているかを解説している。複雑なスクリプトは必要ありません。