2025年8月28日、サプライチェーンセキュリティを手がける ReversingLabs(RL)は、Visual Studio Code(VS Code)Marketplaceにおいて、過去に削除(remove)された拡張機能の“名前”を第三者が再取得して公開できる挙動を確認しました。
これにより、かつて正規だった拡張機能の名前の信用を悪用し、開発者の端末やCI環境に同名の悪性拡張を配布できるリスクが生じます。
きっかけ:同系統マルウェア拡張に“同じ名前”
RLが6月に発見した悪性拡張機能「ahbanC.shiba」は、3月に摘発された「ahban.shiba」「ahban.cychelloworld」と挙動が酷似していました。
3つはいずれもダウンローダで、外部サーバからPowerShellスクリプトを取得し、被害端末のデスクトップ配下「testShiba」フォルダでファイル暗号化を試行、対価としてShiba Inuトークンを要求する“開発中のランサムウェア”の性質を示します。
RLは新旧拡張の“name(shiba)”が同一である点に着目し、Marketplaceの仕様と実態の齟齬を深掘りしました。
監査とその先:なぜ“同名”で再公開できたのか
VS Code拡張は <publisher>.<name> が一意IDです。
ドキュメント上、「nameは全小文字・空白なしで、Marketplace上で一意」とされています。RLは検証の結果、次の挙動を確認しました。
-
非公開(unpublish):拡張は配布不可になるが、名前は予約されたままで再利用できない。
-
削除(remove):拡張と統計が完全に消え、その“名前”を第三者が自由に再取得可能。
つまり、正規拡張が「削除」された場合、その同名を攻撃者が別パブリッシャで奪取し、“見慣れた名前”の別物を配布し得ます。
実際に「ahbanC.shiba」は、先行する「ahban.shiba」とnameが同じ“shiba”で、publisherだけが異なる状態でした。
マルウェアの配布手口(Shiba系キャンペーン)
観測された悪性拡張は、VS Codeでコマンド(例:shiba.aowoo)を呼び出すと、OSに応じて外部の第2段階ペイロードを取得・実行します
(例:hxxp://54[.]85[.]145[.]93/payload.ps1 / payload_linux.ps1)。
暗号化対象はテスト用フォルダで、仮想通貨要求は未完成(ウォレット未指定)など、開発途上の挙動が確認されています。
他エコシステムでも既視感:PyPIの事例
名前の再取得問題はVS Codeに限りません。RLは2023年初頭、PyPIでも削除済みパッケージ名が再利用できることを実証しました
(ただしPyPIは悪性に使われた名前を再利用不可にできる例外あり)。VS Code側には、悪性拡張名の再利用を抑止する同等の制限が見当たらない点が課題です。
2025年に流出したハッカーグループのBlack Basta関連の内部チャットでも、公開リポジトリでのランサムウェア実験が示唆されていました
※本件キャンペーンとの直接関係は不明。
いずれにせよ、OSSレジストリや拡張マーケットが攻撃の侵入口として狙われ、タイポスクワッティングやなりすましが横行している現実を踏まえ、組織と開発者は能動的な監視と安全運用を強化する必要があります。
IoC(相関確認用)
以下はRLが提示した拡張ID・バージョン・SHA1および第2段階ペイロードURLの抜粋です。プロキシ/EDR/ファイル監査で相関確認してください。
[VS Code 拡張(Unique ID → Version → SHA1)]
ahbanC.shiba 0.1.0 daa3fbb6d813e2a4891e7b0441026fe97a7ffaa5
ahbanC.shiba 0.1.1 b3811c2570612223c8e93940b8353050dc63e6aa
ahbanC.shiba 0.1.2 d6097dc96387df62de28e2a9e1dd2168c9bec3df
ahbanC.shiba 0.1.3 0ea795be03410d4000157e4d29f2c9349ce41076
ahbanC.shiba 0.1.4 f9981e9ca2893229eb0259e4b72bc63dfaa6a3e8
ahban.shiba 0.0.1 48b06a5ac3e0ec75c9f62d0de82da3e6d3751206
ahban.shiba 0.0.2 e4a99435b517653f6a74c2d589edd7a64f84bf7a
ahban.shiba 0.0.3 b070b89e68c29b870bd7e7bb233d36a2fc0af52d
ahban.shiba 0.0.4 78715eabe3a748a4474ddaa3bd4757dc09983f98
ahban.shiba 0.0.5 13b0918924343ac79a99118806dddcace1ad923e
ahban.shiba 0.0.6 7c861bcd2c735599d2cafd9c90fed2ae01acabbe
ahban.shiba 0.0.7 272eda0a7dcb9d6453b6d0080a876e2b39a1dfe4
ahban.shiba 0.0.8 f74807a5dbdabced658f8d523b0f4c551d5b44f9
ahban.shiba 0.0.9 bf3f29a72a128a0331f92a02aef249c926ddc071
ahban.cychelloworld 0.0.1 af1e7b349ca376cb21bc1738ca10035bc878c9f6
ahban.cychelloworld 0.0.2 b8625b3687171c1f3b9e78e1060f24b80380d069
ahban.cychelloworld 0.1.0 dd19d11aa6c247173845c68a1ec438cbd54534fd
ahban.cychelloworld 0.1.1 ed7d3a403c142153a36f6a2575f11d505e4fc927
ahban.cychelloworld 0.2.0 82e468beb4498fc36b37ff68852bf28439bb2e5b
ahban.cychelloworld 0.2.1 038d561f31909d601e046f883483c7fff035989e
ahban.cychelloworld 0.2.2 715e984f2d7ca57f3199f1b67d6e6b130738efe5
[第2段階ペイロードURL]
hxxp://54[.]85[.]145[.]93/payload.ps1
hxxp://54[.]85[.]145[.]93/payload_linux.ps1
出典
https://www.reversinglabs.com/blog/malware-vs-code-extension-names








