ランサムウェア機能を持つ疑わしいVisual Studio Code拡張機能が、MicrosoftのMarketplaceのセキュリティをすり抜けました。

fadfebrian – shutterstock.com
セキュリティ専門企業Secure Annexは最近、「Ransomvibe」と呼ばれるマルウェアがソースコードエディタVisual Studio Codeの拡張機能に埋め込まれていることを発見しました。「拡張機能が有効化されると、最初にzipUploadAndEcnrypt関数が実行されます。この関数は、ランサムウェアや恐喝ソフトウェアに典型的なすべての技術を適用します」と調査報告書には記されています。
これによると、ディレクトリはテスト環境として構成されているため、現時点での影響は軽微です。「しかし、拡張機能のアップデートやリモートコマンドによって簡単に更新可能です」と研究者たちは警告しています。
Secure Annexによれば、公開されたマルウェアはVibeコード化されたコードであり、洗練性は全くありません。「これは高度な例ではなく、コマンド&コントロールサーバーのコードが誤って復号ツールとともに公開された拡張パッケージに含まれていました」とSecure Annexのジョン・タックナー氏は説明し、拡張機能には「明らかに悪意のある」Marketplace説明文が含まれていたと付け加えました。
「拡張機能には明らかな警告サインがあったにもかかわらず、Microsoftの審査フィルターを通過してしまいました」とタックナー氏はX投稿で強調しています。
AI生成コードの兆候
「suspublisher18.susvsex」という名前の拡張機能には「package.json」ファイルが含まれており、インストール時を含むあらゆるイベントで自動的に有効化されます。また、このツールはコマンド&コントロール機能のテストも可能です。エントリーポイントである「extension.js」内には、サーバーURL、暗号化キー、C2ターゲット、クエリ間隔などのハードコードされた変数が発見されました。これらの変数の多くは、コードがAIによって生成されたことを示唆しています。
含まれている2つの復号プログラムはPythonとNodeをベースにしています。さらに、ハードコードされた復号キーも挿入されていました。
拡張機能はGitHubベースのC2を参照
Ransomvibeは、従来のC2サーバーに依存するのではなく、やや珍しいGitHubベースのコマンド&コントロールインフラ(C2)を採用しています。拡張機能はプライベートなGitHubリポジトリを利用してコマンドを受信・実行します。定期的に「index.html」というファイルの新しいコミットを確認し、埋め込まれたコマンドを実行、その出力を拡張機能にバンドルされたGitHubパーソナルアクセストークン(PAT)で「requirements.txt」に書き戻します。
このC2挙動は、ホストデータの流出だけでなく、攻撃者の環境も明らかにします。痕跡はBakuのGitHubユーザーを指し、マルウェア自身が記録したシステムデータのタイムゾーンと一致しています。
Secure Annexはこれを、AIを活用したマルウェア開発の典型例とし、誤って配置されたソースファイル(復号ツールや攻撃者のC2コードを含む)や、悪意ある機能を明示的に記述したREADME.mdファイルが含まれていると指摘しています。しかしタックナー氏は、真の問題はMicrosoft Marketplaceの審査システムが拡張機能を検知できなかったことにあると主張しています。
Microsoftの対応
Microsoftは、拡張機能をMarketplaceから削除したと発表しました。Marketplace内の各拡張機能ページには「不正行為を報告」リンクがあり、すべての報告が審査されるとしています。「拡張機能が悪意あるものと判断された場合や脆弱性が見つかった場合、その拡張機能はMarketplaceから削除され、ブロックリストに追加され、VS Codeから自動的にアンインストールされます」とテック大手は述べています。企業がMarketplaceへのアクセスを制限したい場合は、特定のエンドポイントをブロックすることで対応可能としています。
最近の事例では、悪意のある、または不注意な拡張機能がVisual Studio Codeエコシステムで繰り返し問題となっていることが示されています。中には認証情報を漏洩させたり、密かにコードを盗んだり暗号資産をマイニングしたりするものもあります。(jm)