Last Updated on 2025-03-25 08:32 by admin
2025年3月24日、サイバーセキュリティ企業ReversingLabsの研究者が、Visual Studio Code(VSCode)マーケットプレイスで「ahban.shiba」と「ahban.cychelloworld」という2つの悪意ある拡張機能を発見した。これらの拡張機能は開発中のランサムウェアを展開するよう設計されており、発見後すぐにマーケットプレイスから削除された。
これらの拡張機能は、PowerShellコマンドを使ってコマンド・アンド・コントロール(C2)サーバーからペイロードを取得・実行する仕組みを持っていた。このランサムウェアは初期段階の開発中と見られ、被害者のWindowsデスクトップ上の「testShiba」フォルダ内のファイルのみを暗号化する機能を持っていた。暗号化後は「あなたのファイルは暗号化されました。それらを回復するためにShibaWalletに1 ShibaCoinを支払ってください」というメッセージを表示するが、支払い方法などの詳細情報は提供されなかった。
この発見は、ReversingLabsが2025年初頭に複数の悪意ある拡張機能を報告した数ヶ月後に明らかになった。また、セキュリティ企業Socketは先週、「scribejava-core OAuth」ライブラリを偽装した悪意あるMavenパッケージについて報告した。このパッケージは2024年1月25日にMaven Centralにアップロードされ、毎月15日にOAuth認証情報を収集・漏洩させる機能を持っている。セキュリティ研究者Kush Pandyaによると、このパッケージには6つの依存パッケージがあり、それらはすべてタイポスクワッティング(本物に似た名前を使う手法)を利用している。
from:VSCode Marketplace Removes Two Extensions Deploying Early-Stage Ransomware
【編集部解説】
今回のVSCodeマーケットプレイスでの悪意ある拡張機能の発見は、開発者ツールのエコシステムを標的とした新たなサプライチェーン攻撃の一例として注目に値します。こうした攻撃は、特に多くの企業や個人開発者が利用するVSCodeのような人気プラットフォームにおいて、その影響が広範囲に及ぶ可能性があります。
開発中と見られるこのランサムウェアが「testShiba」フォルダのみを暗号化する点は興味深いです。これは攻撃者がテスト段階にあることを示唆しており、最終的には本格的なランサムウェアに発展する可能性がありました。また、支払い指示の不完全さからも、これが「プロトタイプ」段階であったことが窺えます。
拡張機能マーケットプレイスを通じた攻撃は、近年増加傾向にあります。2024年にはGitHub Codespacesを模倣した拡張機能や、VS Codeのテーマとして偽装された悪意あるコードなど、複数の事例が報告されています。これらの攻撃は、開発者が日常的に信頼して使用するツールを標的にしている点で特に危険です。
注目すべきは、このようなサプライチェーン攻撃の洗練度が増していることです。特にMavenパッケージの例でみられる時間ベースのトリガー(毎月15日に作動)は、セキュリティスキャンや静的解析を回避するための高度な手法といえるでしょう。これにより、悪意あるコードが長期間にわたって検出されずに残る可能性が高まります。
開発者の皆さんにとって、この事例から学ぶべき教訓は明確です。拡張機能やライブラリをインストールする際は、作者の評判、ダウンロード数、レビューだけでなく、要求される権限にも細心の注意を払うことが重要です。特に、PowerShellスクリプトを実行するような広範な権限を要求する拡張機能には警戒が必要でしょう。
また、企業のセキュリティチームは、開発環境で使用されるツールやライブラリに対するセキュリティポリシーを見直す良い機会かもしれません。承認済みの拡張機能リストを作成し、未承認の拡張機能のインストールを制限することで、こうしたリスクを軽減できる可能性があります。
長期的には、マイクロソフトやVSCodeチームがマーケットプレイスのセキュリティ審査をさらに強化することが期待されます。実際に、2024年後半から2025年初頭にかけて、マイクロソフトはVSCodeの拡張機能に対するセキュリティチェックを強化しているものの、今回のケースのように巧妙に偽装された悪意あるコードを完全に排除することは依然として難しい課題となっています。
このような攻撃事例は、オープンソースエコシステムの信頼性とセキュリティの間の難しいバランスを示しています。イノベーションと利便性を促進しながら、悪意ある活動からユーザーを保護する方法は、テクノロジーコミュニティ全体が継続的に取り組むべき重要な課題です。
【用語解説】
VSCodeマーケットプレイス:
Visual Studio Code用の拡張機能を配布する公式プラットフォーム。アプリストアのようなもので、開発者が機能を追加できる場所である。
ランサムウェア:
「身代金要求型マルウェア」のこと。ファイルを暗号化して「復号するには金銭を支払え」と要求する悪意あるソフトウェアである。
サプライチェーン攻撃:
製品やサービスの供給経路を標的にした攻撃。この場合、開発ツールの拡張機能という「部品」を悪意あるものにすり替えている。
タイポスクワッティング:
有名サービスや製品の綴りを少し変えた偽物を作ること。例えば「Microsoft」を「Micr0soft」と表記するような手法である。
C2サーバー:
Command and Control(コマンド&コントロール)サーバーの略。マルウェアを遠隔操作するためのサーバーである。
OAuth:
ウェブサイトやアプリがユーザーのログイン情報を共有するための認証の仕組み。「Googleアカウントでログイン」などの機能を実現している技術である。
【参考リンク】
Visual Studio Code(外部)
開発者向けの人気コードエディタ。無料で利用でき、拡張機能で様々な開発言語に対応可能。
ReversingLabs(外部)
サプライチェーンセキュリティに特化したセキュリティ企業。マルウェア分析や脅威検出を行っている。
Socket(外部)
オープンソースの依存関係とサプライチェーンのセキュリティリスクを検出するプラットフォーム。
Maven Central(外部)
Java開発者向けにライブラリを配布する主要リポジトリ。JavaやKotlinなどの開発で広く利用されている。
【編集部後記】
普段何気なくインストールしている拡張機能やライブラリ、最後にセキュリティチェックしたのはいつでしょうか?開発環境のセキュリティは「見えない脅威」と言えるかもしれません。VSCodeをお使いの方は、現在インストールされている拡張機能のアクセス権限を一度確認してみませんか?また、社内開発チームでは拡張機能の利用ポリシーなどを設けていますか?SNSでみなさんの開発環境セキュリティ対策について、ぜひ共有いただければ幸いです。