Check Point、悪意あるコードを含んだVSCode拡張機能の発見を報告 すでに削除済みだが配布開始から1年以上経過PII窃取やバックドアを狙うマルウェアも検出

Check Point Software TechnologiesはVisual Studio Codeの拡張機能ハブVSCode Extensions Marketplaceを調査し、悪意あるコードが埋め込まれた拡張機能を発見したと発表した。

» 2023年06月05日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Check Point Software Technologiesは2023年5月16日(米国時間)、コードエディタ「Visual Studio Code」(以下、VSCode)の拡張機能ハブ「VSCode Extensions Marketplace」を調査し、悪意のあるコードが埋め込まれた拡張機能を発見したと発表した。同社から通知を受けたMicrosoftは、該当の拡張機能を削除した。

 VSCode Extensions Marketplaceは、VSCodeで利用可能な拡張機能を見つけることができるハブだ。ここにはMicrosoft公式の拡張機能だけでなく、コミュニティーが開発したサードパーティーの拡張機能も含まれる。

VSCode Extensions Marketplace

 2023年5月時点で、マーケットプレースには約5万個の拡張機能が掲載されている。VSCodeの拡張機能は、エディタの機能をアップグレードするためにインストールされるアドオンで、新しい機能の追加やプログラミング言語のサポート、外部ツールやサービスとの統合などに使用できる。

 悪意ある拡張機能は、マルウェアのインストール、ユーザーデータの盗難、その他有害な動作を行い、ユーザーにセキュリティリスクをもたらす。だが、MicrosoftはVSCode Extensions Marketplaceに対してセキュリティ対策を実施しており、悪意のある拡張機能は今日に至るまでほとんど公開されていないという。

 しかしながら、Check Pointの調査では悪意のあるコードを含んだ拡張機能が発見された。また、疑わしいコードパターンを持つ拡張機能も見つかったが、こちらは悪意あるマルウェアであることを示す指標はなかった。以下はその詳細である。

4万5000回以上インストールされた拡張機能も

 今回検出された3種類の悪意ある拡張機能を紹介する。

prettiest java

 「prettiest java」という名称は、人気の「Prettier-Java」という拡張機能の名前に似せたものである。拡張機能のコードを調べると、一般的なPII(Personally Identifiable Information:個人識別情報)を窃取するコードが見つかった。このコードは「The Python Package Index」(PyPI)を介して配布される拡張機能やパッケージでよく見られ、ローカルの秘密情報を検索し、DiscordのWebhookを使って攻撃者に送信するものだ。

VSCodeのマーケットプレースで各拡張機能に表示される説明文

Theme Darcula dark

 「Theme Darcula dark」は、「VSCode上でDraculaテーマをベースにしながら、より一貫性のあるカラースキームを提供することで、開発者の目の負担を軽減し、コーディング体験の向上を目指す」ものだという。この拡張機能は、4万5000回以上インストールされ、非常に人気があった。しかし、シンプルなテーマ設定でコードは含まれていないはずが、リモートマシンにインストーラーの設定に関する多くのメタデータを送信するPII窃取コードが含まれていた。

python-vscode

 「python-vscode」には拡張機能についての説明がない。Python開発のVSCodeを有効にするものとユーザーに誤認させ、1384件のダウンロード数に結び付いたことが予測される。拡張機能のコードは、インストーラーマシンに挿入される難読化されたC#のシェルインジェクターコードパターンであることが分かった。

VSCodeのマーケットプレースで各拡張機能に表示される説明文
拡張機能のmain.jsコード中にあった、スニペットで難読化されたC#コードを挿入している部分
GitHubで見つかった、上記C#コードの参照元の可能性が高い、悪意あるコード

疑わしいコードだが明確に「悪意を持っている」とはいえないもの

 疑わしいコードパターンを使用しているが、明確な証拠がないため「悪意を持っている」とは言い切れない拡張機能も複数あった。1つはプライベートレジストリを使用して必要なパッケージをインストールする拡張機能。プライベートレジストリを使用することで、悪意のあるパッケージを紛れ込ませる手段として悪用される可能性がある。

 もう1つは一般的なIPアドレスからリソースをダウンロードする拡張機能で、ダウンロードした拡張機能が悪意のあるコードやマルウェアである可能性がある。

Microsoftへの報告と対応

 Check PointがVSCodeチームに調査結果を報告し、該当の拡張機能が削除されるまでの経過は以下の通り。

  • 2023年5月4日 VSCode側に結果報告を提出
  • 2023年5月8日 VSCodeチームが内容を確認
  • 2023年5月14日 悪意のある拡張機能がVSCodeマーケットプレースから削除される

増加するリスク

 同社が見つけた悪意ある拡張機能の多くは、マーケットプレース上で配布が開始されてから1年以上経過している。

 同社は「この事実は、オープンソースの拡張機能が善意のものかどうかは保証されていないこと、ユーザーにも検証する責任があることを示している。ソフトウェアサプライチェーン攻撃が増加の一途をたどる中、自分たちが関与していないソフトウェアは、各構成要素を二重に確認することが重要である」と指摘した。

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。