Cycodeは8月7日(米国時間)、「VS Code's Token Security: Keeping Your Secrets... Not So Secretly - Cycode」において、Microsoft Visual Studio Codeのセキュアトークンストレージに脆弱性があると伝えた。セキュアトークンストレージは拡張機能ごとに隔離されたストレージとして提供されているが、悪意のある拡張機能から認証トークンの窃取が可能としている。

  • VS Code's Token Security: Keeping Your Secrets... Not So Secretly - Cycode

    VS Code's Token Security: Keeping Your Secrets... Not So Secretly - Cycode

Cycodeによると、Microsoft Visual Studio Codeに組み込まれているGitHubおよびMicrosoftアカウントを含め、公式およびサードパーティ製の拡張機能が保存する認証情報などはすべて窃取される危険性があるとしている。Cycodeはこれを実証する拡張機能を作成し、Microsoftに情報を提供したと述べている。

Microsoftはこの脆弱性を認めた上で、拡張機能をサンドボックス化することは望まないとしており、修正プログラムが提供される可能性はないものとみられる。

Cycodeはこの問題に対し、以下のような対策を実施することを推奨している。

  • 拡張機能をインストールする前に、その拡張機能が要求する権限を確認する。拡張機能が過剰な権限を要求している場合は注意が必要
  • 拡張機能をインストールする前に、ソースコードを確認するか開発者の信頼性を確認し、拡張機能に悪意のあるコードが含まれていないことを確認する
  • 不要不急な拡張機能は使用しない。拡張機能が増えることで潜在的な脆弱性が増加するリスクがある
  • 機密情報を扱う拡張機能の場合は、セキュリティ強化のため暗号化レイヤを追加することを検討する

Microsoft Visual Studio Codeの拡張機能は便利だが、サンドボックス化されていない点に注意する必要がある。悪意のある拡張機能をインストールしないよう、事前に拡張機能を詳細に調査することが望まれる。