ホリデーシーズンのささやき:Shai-Hulud 3.0
2025年12月29日
0 分で読めます年末のホリデーシーズンは、例年コードフリーズや落ち着いたシフト体制が敷かれる時期です。しかし、機会をうかがう攻撃者にとっても狙い目の時期です。開発チームが不在で、対応に時間がかかりがちなことを知っている脅威アクターは、すぐに検知されることなく新たなエクスプロイトを試せる隙を狙っています。
最近、あるセキュリティ研究者が、Shai-Huludの新たな限定的亜種を発見し、「The Golden Path」(v3.0)と名付けました。このバージョンには、現在の検知手法を回避するための技術的な改良が加えられています。広範囲に広がるアウトブレイクではありませんが、脅威アクターが継続的に改善を重ねていることを示す技術的なアップデートと見られます。
現時点で報告は単一のパッケージに限られており、進行中のキャンペーンというより、テスト段階である可能性がうかがえます。この新たな亜種について判明していることと、注視している理由をご紹介します。
新たな亜種の報告
2025年12月29日、ある研究者がnpmパッケージ@vietmoney/react-big-calendar(バージョン0.26.2)に埋め込まれたマルウェアを特定しました。研究者は、これを模倣犯によるものではなく、Shai-Hulud系統から直接進化したものと見ています。分析によると、コードはその場で改変されたのではなく、ソースから再難読化されたようです。中核部分は共通していますが、内部ロジックはより高い耐性とクロスプラットフォーム互換性を備えるよう改良されています。
Shai-Huludの初期バージョンは、急速な拡散を狙っていました。一方、この亜種はステルス性の向上に重点を移し、技術面の改良とクロスプラットフォームでの安定性を重視しているようです。このバージョンはマルウェアの「パッチ」として機能し、特にWindowsとBunランタイムに関する過去の互換性の問題に対処しています。
主な技術的詳細:
標的を絞った情報窃取:コードによると、データは「Goldox-T3chs: Only Happy Girl」という説明が付いたGitHubリポジトリに流出させることを意図していました。
ステルス性の向上:コードには、セキュリティスキャンツールを回避するためのエラー処理の改善が含まれています。
限定的な範囲:現時点で侵害が確認されているnpmパッケージは1つだけであり、直ちに大規模感染を引き起こすというより、安定性を探るための調査である可能性が示唆されます。
なぜ今なのか?
この亜種が出現したタイミングは、意図的なものと考えられます。攻撃者は、コードとは無関係な次の2つの脆弱性を利用しています。
「休暇」の影響:意思決定者が休暇中で、インシデント対応チームの対応能力も低下しているため、攻撃者はリアルタイムで検知されるリスクを大幅に抑えながら、コードの展開と改良を進めようとしています。
セキュリティ移行のタイミング:npmエコシステムでは、「trusted publishing」が標準になりつつあります。こうした移行時には、セキュリティ対策がまだ緩い「直前」のタイミングを攻撃者が利用し、より厳格な制御が適用される前に攻撃範囲を最大化するケースがよくあります。今月は、npmの認証をセッションベースに移行し、CLIトークン管理を導入するなど、いくつかのアップデートも行われました。
パニックではなく警戒を
新たな亜種の発見には注意が必要ですが、パニックではなく警戒をもって対応することが重要です。現時点では、広範囲に及ぶ感染キャンペーンを示す証拠はありません。むしろ、将来の作戦に備える、巧妙な脅威アクターと見られる存在の動きが確認されています。
私たちは、情報に基づいた積極的な意思決定を重視しています。脅威アクターは、まさにこうした報告を監視している可能性が高く、検知を逃れるために展開スケジュールを変更したり、ファイルのシグネチャを改変したりするかもしれません。敵対者が状況に応じて行動を変える以上、最善の防御策は騒ぎ立てることではありません。侵害の痕跡(IoC)は変化するものと想定し、着実かつ先手を打った対策を続けることです。
推奨される対策
明日には変わっているかもしれない特定のファイル名をアクティブスキャンで探すのではなく、脅威の主な感染経路を無効化できるよう、構造的な防御策が機能しているかを確認することをお勧めします。この「デフォルトで安全」なアプローチなら、攻撃者が技術的なシグネチャを更新しても保護を維持できます。
ライフサイクルスクリプトを無効にする:この亜種の主な実行経路は、
postinstallおよびpreinstallフックです。.npmrcファイルでignore-scripts=trueを設定するか、--ignore-scriptsフラグを付けてインストールを実行し、環境を強化すれば、インストール中に任意のコードが実行されるのを防げます。ロックファイルのみを使ったインストールを徹底する:CI/CDパイプラインでは、必ず
npm installではなくnpm ciを使用してください。これにより、環境で使用するバージョンがロックファイルに固定されたものだけになり、「latest」の解決によって侵害されたアップデートが誤って取り込まれるのを防げます。クールダウン期間を設ける:
minimumReleaseAgeを使うpnpmのように、パッケージマネージャーが対応している場合は、新しいパッケージバージョンの採用を24~48時間遅らせることを検討してください。悪意あるnpmパッケージの多くは、公開後数時間以内に特定され、削除されています。外向き通信を監査する:この亜種は外部のGitHubリポジトリへのデータ流出に依存しているため、ビルドサーバーのネットワークアクセスを既知の信頼できるドメインのみに制限すれば、情報窃取の経路を断つことができます。
このテスト段階がより広範なキャンペーンへの移行を示す場合、または攻撃者が現在の検知を回避するために手法を更新した場合は、速やかにお知らせします。現時点では、構造面の強化と継続的な監視が最も効果的な対策です。
Snyk Vulnerability DBをチェック
信頼できるデータと実用的なインサイトで、安全なソフトウェア開発を支援します。
