不可視文字でマルウェアが混入、GitHub などで汚染が拡大――開発基盤の信頼が揺らぐ

公開日: 2026年8月13日
カテゴリ: Security News
対象読者: 企業の情シス担当者・セキュリティ担当者(一人情シス含む)


概要

GitHub や OSS の開発基盤を狙う新たな攻撃手法「GlassWorm」が急拡大している。攻撃者は、通常のコードレビューでは見えない Unicode の制御文字を埋め込み、画面上では見えないまま悪意あるコードを混入させる。これは、エディターや GitHub の差分表示が「見えない文字」を正しく扱えず、人間が異常を見つけにくいことを利用した攻撃だ。

開発者の業務で使う拡張機能、ライブラリ、OSS プロジェクトの配布元が標的になるため、情報システム部門や情シス担当者にも無視できないリスクだ。企業の開発環境が汚染されると、認証情報の窃取、内部リポジトリへの不正アクセス、さらには社内の導入済みソフトや運用基盤そのものの信頼低下につながる。


1. 何が起きたか

2026年3月頃から、技術系メディアやセキュリティ企業が注目しているのが、Unicode の制御文字を悪用する「GlassWorm」型の攻撃だ。特に問題なのは、異体字セレクターやゼロ幅の制御文字をコードの中に埋め込むことで、ファイルの中身を見たときには通常の文字列に見えない点だ。

一般的なコードレビュー画面では、攻撃コード自体が見えず、差分やプルリクエストの確認で異常に気づきにくい。しかも、コードの行数を大幅に増やし、1行のコードの中に1万8000行超の不可視属性のコードが埋め込まれている例も報告されている。

これは、単純な「悪いライブラリ」ではなく、見えない文字を使って、エディターや GitHub などの開発ツールが表示しないようにしていることが特徴だ。攻撃者は、利用者が通常のレビューやデバッグで異常に気づかないように仕組んでいる。


2. なぜこの攻撃が効くのか

GlassWorm で使われるのは、一般的には見た目に見えない Unicode の制御文字だ。例えば、異体字セレクター(U+FE00〜U+FE0F)異体字セレクター補助(U+E0100〜U+E01EF)などが利用される。

こうした文字は、ブラウザーやコードエディタによっては「表示されない」か「見た目が崩れない」ように扱われる一方、実際にはファイル上では意味のあるコードとして解釈される場合がある。攻撃者は、このギャップを利用して、レビューでは見えないコードを挿入しながら、実行時に悪意あるスクリプトやコマンドを動かす

結果として、攻撃の重大さは「メッセージにばらつきがあるだけ」ではなく、依存関係の改ざんや被害の見えにくさにある。たとえば、JavaScript ライブラリーや開発ツールのパッケージ、開発者向け拡張機能、汎用の OSS などにこの手口が混入すると、ユーザーは「自分がインストールしたものが不正である」と認識しづらい。


3. GitHub と OSS で拡大している背景

攻撃の急増は、GitHub や npm などの一般的な配布基盤が広く使われていることと相まっている。実際に、Open VSX や npm、GitHub 上のプロジェクトで、不可視文字を使った攻撃が確認されている。特に GitHub は、開発者が日常的に利用する中心的な開発基盤であり、ここに悪意あるコードが混入すると影響が広がりやすい。

また、攻撃者は LLM を活用して「役立つコード」に見えるようなプログラムを大量に生成し、 なんとなく信頼できそうな形で開発者の環境に忍ばせる可能性が指摘されている。これは、セキュリティ対策が「関係ないと思っていた開発ツール」への攻撃に変わることを意味している。

企業にとっては、単なるブラウザやメール対策では防ぎ切れない。開発者端末、依存関係、拡張機能、CI/CD やビルド環境までを含めて見直す必要がある。


4. 企業の開発基盤にとっての実害

この種の攻撃の本当の危険は、攻撃コードが「見えない」ために検知が難しいところにある。社内のエンジニアが使う VS Code 拡張機能や OSS のパッケージが汚染されると、次のような事象が起こりうる。

  • GitHub アクセストークンや SSH キーの窃取
  • npm やパッケージ管理ツール経由の認証情報漏えい
  • 開発者端末に不正スクリプトが実行される
  • CI/CD 環境で実行される業務の改ざんやビルド妨害
  • 外部の実業務システムや社内データへの横移動

特に多くの企業では、複数の開発ツールが無許可のまま導入されていたり、拡張機能やライブラリの定期監査が十分でない傾向がある。そのため、危険なコードが含まれたパッケージやプラグインが導入されても、利用者は「見た目が正常だから大丈夫」と誤判断しやすい。

情シス担当者としては、「デスクトップのセキュリティ」だけでなく、開発環境の棚卸しとポリシー整備まで視野に入れる必要がある。


5. 企業に必要な対策

1) 開発者端末の制御

  • VS Code 拡張機能のインストール履歴と更新履歴を確認する
  • 企業で利用する拡張機能をホワイトリスト化する
  • 「自動更新」や「サードパーティ拡張機能」の利用を制限する

2) 依存関係の監査

  • npm や GitHub Actions で使っている依存ライブラリの更新状況を見直す
  • 署名済みパッケージや信頼できる配布元だけを利用する
  • package-lockyarn.lock などの依存関係の変更履歴を定期監査する

3) 認証情報のローテーション

  • GitHub トークン、部署用の SSH キー、CI/CD のシークレットを定期的に更新する
  • 不審なアクセスログや異常な認証の記録がないか確認する
  • EDR や SIEM のアラートに、開発ツールの不審なシェル実行を追加する

4) 組織での利用ルールの整備

  • OSS 利用時に「誰が承認したか」を管理する
  • 研修で「見えない制御文字のリスク」を説明する
  • ソフトウェアサプライチェーンリスクを、情報セキュリティのレビュー対象に加える

6. まとめ

GlassWorm は、見た目では分からないコードを使って開発基盤を汚染する新しい攻撃だ。GitHub や OSS など、開発者が日常的に触る領域で急速に影響が広がっており、企業のセキュリティ対策としては「利用者に注意喚起するだけ」では足りない。

特に今の時点で重要なのは、開発ツールと依存関係の信頼性を、従来のメール対策やブラウザ対策とは別軸で管理することだ。開発基盤に対する可視化、監査、更新、ローテーションを早めに進めることで、社内の業務や認証情報の漏えいリスクを下げられる。

YJK では、開発環境のセキュリティ管理、拡張機能や依存関係の監査支援、ソフトウェアサプライチェーンの評価支援を承っています。「見えない脅威に気づけていない」「GitHub で何を守るべきか分からない」といった相談にも対応できます。まずは組織で使っている開発ツールとアクセス権限の棚卸しから進めてください。

GlassWorm のような「見えない脅威」は、利用者が通常のコードレビューでは検出しにくく、開発基盤全体の信頼を揺らします。YJK では、VS Code 拡張機能や依存関係の棚卸し、認証情報の見直し、サプライチェーンリスク評価まで一貫して支援します。まずは利用中の開発ツールとアクセス権限の確認からご相談ください。


出典

ニュース一覧に戻る