🛡 概要
MicrosoftのVisual Studio Code Marketplaceに掲載された拡張機能「Bitcoin Black(テーマを装う)」「Codo AI(AI支援を装う)」が、開発者端末に情報窃取型マルウェアを投下する事案が確認されています。公開名義は「BigBlack」。報道時点でCodo AIはダウンロード数30未満ながら掲載が継続していたとされます。これらは正規のLightshot実行ファイルと悪性DLLを組み合わせ、DLLサイドローディングで不正コード(runtime.exe名で展開)を実行。スクリーンショット、認証情報、暗号資産ウォレット、ブラウザセッション等を窃取します(出典: BleepingComputer、Koi Security)。CVSSは該当CVEがなく未評価です。
🔍 技術詳細
Bitcoin BlackはVSCodeのアクティベーションイベントに「*」を設定し、ほぼ全てのエディタ操作を契機にスクリプトを動かせる構造です。テーマ拡張に不要なPowerShell実行ロジックを含む点は明確なレッドフラッグ。初期の版では、PowerShellでパスワード保護されたアーカイブをダウンロード・展開する手口を用いており、可視のPowerShellウィンドウが一瞬表示される挙動がありました。最近の版では、bat.sh(バッチ)からcurlを呼び出し、DLLと実行ファイルを取得・配置しつつウィンドウを非表示化するなど、ユーザーの気づきを回避する方向に変化しています。
Codo AIはChatGPTやDeepSeekを用いたコード支援機能が実装されている一方、悪性ブロックも併存。両拡張はいずれも正規のLightshot(スクリーンショットツール)実行ファイルと、同ディレクトリに置かれた悪性DLLを組み合わせ、検索順序ハイジャック(DLLサイドローディング)で不正コードを読込ませます。結果としてruntime.exeの名でインフォスティーラーが展開され、%APPDATA%\Local\ 配下に「Evelyn」ディレクトリを作成し、以下を収集・保存します。
- 実行中プロセス、インストール済みプログラム、システム情報
- クリップボード内容、Wi-Fi認証情報
- スクリーンショット
- ブラウザ(Chrome/Edge)をヘッドレスで起動してのCookie取得とセッション乗っ取り
- 暗号資産ウォレット(Phantom、MetaMask、Exodus など)の窃取
悪性DLLはVirusTotalで72エンジン中29検知との報告があります。ダウンロード数自体は多くないものの、開発端末という特性上、認証情報・ソースコード・トークンに対するリスクは相対的に高く、サプライチェーン全体への波及が懸念されます。なお、観測された動作はKoi SecurityおよびBleepingComputerの公開情報に基づきます。通信先や持続化手法の詳細は公表範囲では限定的で、ここでは確認済み事項のみに言及しています。
⚠ 影響
- 開発者アカウント・SaaS・クラウドへの不正アクセス(セッションクッキー、トークン流出)
- リポジトリ改ざんやマルウェア混入によるサプライチェーン汚染
- 社内横展開(盗まれた資格情報を用いた横移動)
- 機密ソースコード・設計情報の流出
🛠 対策
- 拡張機能の厳格な許可制(許可リスト方式)。不明なパブリッシャー(例: BigBlack)はブロック
- VSCodeの拡張導入を企業ストア/プロキシ経由に限定し、署名検証とハッシュ監査を実施
- EDRでCode.exe起点のpowershell.exe/cmd.exe/curl.exe起動を警戒度高で監視・遮断
- WDAC/ApplockerやASRで「不許可親プロセス(Code.exe)からのスクリプト/子プロセス生成」を抑止
- ブラウザCookie・トークンの保護(可能な範囲でハードウェアバックトークン、短寿命化、条件付きアクセス)
- 開発端末の分離(権限最小化、機密リソースと私用ブラウジングの論理分離)
- IOC監視:%APPDATA%\Local\Evelyn、Lightshot隣接の不審DLL、runtime.exe
- セキュアアンインストール:拡張削除後に残存ファイル/自動起動項目の確認、資格情報リセット
参考フレームワーク: CIS Controls v8(2, 4, 8, 10, 12, 15, 16, 17)、NIST CSF(ID.AM, ID.SC, PR.AC, PR.DS, PR.IP, DE.CM, RS.MI)。
📌 SOC視点
- プロセス相関: Code.exe → powershell.exe/cmd.exe → curl.exe → runtime.exe/Lightshot.exe
- コマンドライン痕跡: –headless 付きのchrome.exe/msedge.exe起動、ユーザープロファイル配下のCookie/Local Stateへのアクセス
- ファイルイベント: %APPDATA%\Local\Evelyn の作成(Sysmon EID 11)、Lightshot実体と同フォルダの不審DLL
- モジュール読込: 正規Lightshotからの想定外DLL読込(Sysmon EID 7)
- ネットワーク: curlによる外部DLL/EXE取得(Sysmon EID 3、プロキシログ)。不審SNI/URLのブロック・隔離
- 防御ルール例: 親=Code.exeのPowerShell/コマンドシェル起動を高リスクとしてアラート/ブロック、Chrome/Edgeの–headless実行をユーザ交互なしで検知
📈 MITRE ATT&CK
- T1204(User Execution): ユーザーが拡張機能を自発的に導入
- T1059.001/003(PowerShell/Command Shell): PowerShellやバッチ経由の実行
- T1105(Ingress Tool Transfer): curlで外部からDLL/EXE取得
- T1574.002(DLL Search Order Hijacking): Lightshotに対するDLLサイドローディング
- T1113(Screen Capture): 画面取得
- T1115(Clipboard Data): クリップボード窃取
- T1555.003(Credentials from Web Browsers)/T1539(Steal Web Session Cookie): Cookieやセッションの奪取
- T1082/T1518/T1057(Discovery): システム/ソフト/プロセス情報の列挙
- T1036(Masquerading): テーマ/AI支援を装った拡張として偽装
根拠はKoi SecurityおよびBleepingComputerの分析記述に基づく観測挙動です。
🏢 組織規模別助言
- 小規模(〜50名): 拡張の導入を原則禁止し、必要時のみ管理者が審査・配布。クラウド/リポジトリの二要素必須、侵害時は全トークン・PAT・SSH鍵を直ちに再発行
- 中規模(50〜500名): 企業プロキシで拡張取得ドメインを制御、EDRのふるまい検知を強化。VSCodeポータブル版の社内標準イメージ化+許可リスト配布、CI/CD用資格情報を端末保管しない
- 大規模(500名〜): ソフトウェア供給網リスク管理(SCRM)プログラムを整備し、拡張ミラーリング・署名検証・SBOMの適用。高感度テレメトリと行動分析で開発端末を優先監視、ゼロトラストでセッション継続を厳格管理
🔎 類似事例
- Glassworm: 悪性VSCode拡張キャンペーン
- OpenVSXでの不正拡張配布事例
- 開発者向けエコシステム(npm/PyPIなど)におけるサプライチェーン型マルウェア配布手口
- DLLサイドローディング(検索順ハイジャック)を悪用した横行手口
CVSS/CVE: 今回は特定製品の脆弱性悪用ではなく、悪性拡張による感染であり、現時点で関連CVEは公表されていません。
🧭 次の一手
- 自組織のVSCode拡張運用ルール見直し(許可リスト、配布経路、ログ要件)
- 端末スキャン:%APPDATA%\Local\Evelyn、runtime.exe、Lightshot隣接の不審DLLの有無
- 発見時のIR手順: 端末隔離→拡張/不審ファイル削除→資格情報総入替→セッション無効化→フォレンジック
- 次に読むべきコンテンツ: 企業でのVSCode拡張ガバナンス実践ガイド、DLLサイドローディング検知チートシート、開発端末ハードニングチェックリスト


