こちらは ANDPAD Advent Calendar 2025 の18日目の記事(&セキュリティチームブログリレー4日目)です。
こんにちは。アンドパッド セキュリティチームの川村です。2025年1月にアンドパッドに入社し早1年。現在、管理系の部門と開発部門を兼務しながらコーポレートセキュリティ及びプロダクトセキュリティの両方を担当しています。
この記事ではそのような立場からの視点で、2025年8月の Nx 「s1ngularity」に端を発し、立て続けに発生した npm サプライチェーン攻撃の調査や対応について振り返ってみようと思います。
しっかりと取り組みができている企業においては参考になる内容はないかも知れませんが、どこから手を付けたらよいかわからず困っている方にとって少しでも参考になれば幸いです。
この記事で触れること/触れないこと
触れること :
- npm サプライチェーン攻撃の概要
- 当社で実施した調査や対応
- 当社で実施した調査や対応を踏まえてのふりかえり
触れないこと :
- npm サプライチェーン攻撃の詳細
- 調査・対応のベストプラクティス
npm サプライチェーン攻撃の概要

2025年8月末から9月にかけて、npm のソフトウェアエコシステムを標的とした広範囲に及ぶサプライチェーン攻撃が多発し、当社でも該当パッケージの利用に関する調査が必要となりました。
- 8/26 Nx s1ngularity Attack
- 9/8 大規模 npm サプライチェーン攻撃
- 20 以上の npm パッケージに暗号資産のトランザクションハイジャックを目的としたコード混入キャンペーン
- 20+ Popular NPM Packages Compromised (Chalk, Debug, Strip-ANSI, Color-Convert, Wrap-ANSI...) - StepSecurity
- 9/15 Shai-Hulud
- 500以上の npm パッケージに影響のあった、情報窃取を目的としたマルウェア混入キャンペーン
- Shai-Hulud: Self-Replicating Worm Compromises 500+ NPM Packages - StepSecurity
これらの詳細は解説記事が世の中に多数あるので触れませんが、Nx s1ngularity Attack では以下の動作を行うマルウェアがパッケージに混入しました。
- 機密情報の収集: 環境変数、GitHubトークンなど
- 開発者のマシンに AI の CLIツール(Claude, Gemini, Q)がある場合、それらを使って端末内の機密情報の探索および収集
- 窃取された GitHub トークンを悪用し、被害者の GitHub アカウント下に s1ngularity-repository という名称の公開リポジトリが作成され、収集された上記の情報をアップロード
当社における調査
s1ngularity の件では、当社でも GitHub の Advisory やセキュリティベンダからの情報提供を受けて以下のような調査・対応を実施しました。
- セキュリティチーム、開発本部役職者を中心とした Slack チャンネルを作成し情報収集や対応を開始
- Nx が使われている GitHub リポジトリを調査
- Nx パッケージが侵害されていた時間帯(2025-08-27(JST)07:37–11:44)で、
node telemetry.jsが実行されていないか等を EDR で全台調査 - GitHub の当社 Organization の監査ログに不審なログがないか確認
- (結局この調査は特に意味がなかったが)
- GitHub の当社 Organization に参加している全員に対し、以下のログで「s1ngularity-repository-1」のようなリポジトリがないかを確認依頼
- 上記依頼に対して当日中に回答がなかった方に対する、GitHub トークン等が漏洩しているかもしれないという前提で影響を極小化する対応
- GitHub で当社 Organization から除外
- 各種アカウントの無効化
- EDR ベンダ提供の SIEM ルールテンプレートを活用し、侵害検知・Slack通知を自動化
- npm インストールスクリプトの無効化等の対策周知
s1ngularity 以降の件においても、GitHub の Dependency Graph を用いた調査や、公表された IoC を活用しての端末調査を行っています。
ふりかえり(良かった点)
あってよかった EDR
管理端末全台に対して瞬時に影響有無が確認でき、迅速な調査が可能でした。実際に侵害されていた場合、EDR のみでは防げない攻撃だったかも知れませんが、当社では脅威ハンティング及び EDR ベンダが提供する MDR も導入しており、EDR ベンダとも連携しながら抜け漏れなく対応ができました。
結果として「被害がなかった」と自信を持って言い切ることができました。
本件の対応に限らず、どんな中身のスクリプトがダウンロード・実行されたかも特定できるので、もはやないと生きていけないくらい重要なツールとなっています。
関係者の協力体制
数百名規模の開発関係者全員の積極的な協力のお陰で GitHub 側についても超速で調査が完了しました。アンドパッドの開発本部・プロダクト本部メンバーの本気を垣間見ました。
ふりかえり(課題)
一方で、大きな問題にはならなかったものの以下のような課題も見つかりました。
- GitHub の構成管理
- Dependency Graph が有効になっていなかったリポジトリが一部あった
- ソフトウェア依存関係の網羅的な把握
- GitHub で Advisory が公表されていると https://github.com/advisories/GHSA-cxm3-wv7p-598c/dependabot のように
/dependabotで影響範囲を特定できるが、積極的な構成管理が難しい
- GitHub で Advisory が公表されていると https://github.com/advisories/GHSA-cxm3-wv7p-598c/dependabot のように
これらの課題に対しては以下の対応や検討を進めています。
- 全リポジトリで Dependency Graph を有効化(完了)
- 当社で今年導入したマルチクラウド CSPM ツールに付随する SSPM 機能を使った GitHub の構成検査
- 当社で今年導入した ASM ツール付随の SBOM 管理機能の活用検討
上記の他、Dependabot の cooldown 設定の有効化推進など、開発エンジニア主導の取り組みも行われています。
まとめ
この記事では2025年8〜9月に発生した npm サプライチェーン攻撃に関する当社の調査や対応について振り返ってみました。
(優れた)EDR がないと、どの端末で何が起きていたかが追えず「被害がなかった」と自信を持って言い切れない場面があるかもしれません。また、EDR だけだと検知・対応しきれない場合も考慮して、脅威ハンティングや MDR も必要のように思います。これらは提供される機能・サービス以上の価値を感じますので、未導入の企業は検討してみてはいかがでしょうか。その他、改めて GitHub の設定チェックも行っておくと有事の際に慌てないかも知れません。
さいごに
アンドパッドではプロダクトセキュリティ担当者(セキュリティエンジニア)も絶賛募集中ですが、コーポレートセキュリティやセキュリティガバナンスを一緒に推進してくれる方(セキュリティ企画推進担当)や情シスリーダー候補も募集しています。自分ならもっとイケてる対応が可能だぜ!という方はもちろん、少しでも興味が湧きましたらご応募・カジュアル面談希望お待ちしています。