サプライチェーン侵害パッケージを入れてしまったときの初動
「該当時間帯にインストールしたホストは侵害されたもの」として扱い、資格情報ローテーション → 監査ログ確認 → 既知の正常版に固定してクリーンな lockfile から再インストール、の順で動く。
いつ使うか
- TanStack、Bitwarden、antv、tensorlake などの npm/PyPI 侵害速報が出て、自分の環境・CI が影響範囲に入る可能性があるとき。
手順
- 影響有無の判定: lockfile と CI ログで、該当パッケージ・該当バージョン・該当時間帯(例: TanStack は UTC 19:20–19:30)のインストールがあったか確認する。
- 侵害前提で資格情報をローテーション: クラウド(AWS/GCP/Azure)、GitHub トークン(PAT / OIDC で取得したもの)、npm トークン(
.npmrc)、SSH 鍵、Kubernetes / Vault 認証情報。ペイロードはこれらを狙う。 - 監査ログの確認: 直近数時間〜数日のクラウド監査ログ、GitHub の audit log、npm の publish 履歴に不審な操作がないか。
- 固定と再インストール: 既知の正常なバージョンに固定し、
node_modulesとキャッシュを消してクリーンな lockfile から再インストール。 - 永続化の確認:
npm uninstallでは消えない仕込みがある(別記事「AI 開発ツール設定ファイル経由の永続化チェック」)。 - npm トークンの見直し: npm は 2FA をバイパスする書き込み権限付き granular token を無効化した。自動化は Trusted Publishing(OIDC)へ移行する。
平時の備え
- GitHub 侵害が VS Code 拡張経由で起きた件を受けた @lmt_swallow の推奨: ① 拡張機能の最小化&自動更新無効化 ② 念のためシークレットのローテーション。
- GMO Flatt Security は大きな侵害のたびに「概要と対応指針」記事を出すので、一次情報として追う。
注意点
- 一部のペイロードはキルスイッチ付きで
rm -rf ~/を実行するものもあった(Mini Shai-Hulud 第三波)。解析は隔離環境で。