概要
- Glassworm による不可視Unicode攻撃が再び活発化
- GitHub、npm、VS Codeなど複数エコシステムに被害拡大
- 攻撃は 不可視Unicode文字 を使いマルウェアを隠蔽
- 有名リポジトリも複数被害、AIを用いたカモフラージュも観測
- Aikido などの専用検出ツールによる防御が重要
Glassworm攻撃の再来と拡大
- 2025年から追跡している Glassworm による不可視Unicode攻撃の再発
- 2026年3月にGitHub、npm、VS Code Marketplaceで大規模な攻撃キャンペーンを確認
- PolinRiderキャンペーン とは別に、Glasswormが独自に活動再燃
- 影響範囲は数百のGitHubリポジトリ、npmパッケージ、VS Code拡張機能に及ぶ
攻撃手法の概要
- 攻撃者は 不可視Unicode文字 (PUAなど)を空文字列内に埋め込み、マルウェアペイロードを隠蔽
- 例:
const s = v => [...v].map(w => ...); eval(Buffer.from(s(``)).toString('utf-8'));- 一見空のバッククォート内に不可視文字を挿入
- デコーダ関数で復元し、
eval()で実行
- 復元後のペイロードは Solana経由で第二段階スクリプトを取得し、トークンや認証情報を窃取
2026年3月の被害規模
- GitHub上で少なくとも151件 のリポジトリに同一パターンのデコーダを確認
- 実際の被害数は削除済みリポジトリも含めさらに多い可能性
- 攻撃期間は2026年3月3日~9日
- npmやVS Code Marketplaceにも同様の手法で感染拡大
- 例:@aifabrix/miso-client (npm), quartz.quartz-markdown-editor (VS Code)
- 有名プロジェクトへの被害
- pedronauck/reworm(1,460スター)
- anomalyco/opencode-bench、doczjs/docz-plugin-css など
AIによるカモフラージュ
- 攻撃コミットは ドキュメント修正やバージョンアップ、リファクタ など自然な内容で偽装
- 151件以上のリポジトリに対し個別最適化された変更が行われているため、 大規模言語モデル(LLM)による自動生成 の可能性が高い
- 手動でこれほど多くの自然なコミットを用意するのは現実的ではない
検出と防御策
- 肉眼や一般的なLintツールでは不可視Unicodeは検出困難
- Aikidoなどのセキュリティツールは不可視Unicode混入を自動検出可能
- Aikido利用者には100/100のクリティカル警告として通知
- Aikido Safe Chain はnpm、yarn、pnpmなど主要パッケージ管理ツールに対応したリアルタイムマルウェア防御ツール
- AIと人間の研究者による最新サプライチェーン攻撃の即時検出・遮断
- 無料プラン でもマルウェア検出機能を利用可能
まとめ
- Glasswormの不可視Unicode攻撃は 多エコシステム・AI活用・大規模化 が特徴
- 見えない脅威には 専用検出ツールの導入 が不可欠
- オープンソース利用者は Aikidoなどの対策ツール で早期検知・感染防止が重要