VSCodeはVisual Studio Codeです。
Microsoftが開発しているWindows、Linux、macOS、web用のソースコードエディタです。
無償で利用できますし利用できる環境も多く、複数の環境でも同じ操作感で操作できることもあって、人気があります。
他の人気のエディタでもよく見る機能ですが、このVSCodeには拡張機能があり、拡張機能を利用することで様々な機能をVSCodeに追加することができるようになっています。
それがVSCode Extensionsです。
VSCodeは、もともとはVisual Studioという開発環境として利用できるソフトウェアのなかのエディタ機能を切り出した形で出てきたものだと思います。
しかしいまではVSCode Extensionsを駆使することで各種機能を追加し、Visual Studioの各種機能をVSCodeから使うこともできるようにできます。
とにかく痒い所に手が届くという感じです。
ではその拡張機能はどのようにして入手できるのでしょうか。
Extensions for Visual Studio CodeというWebサイトがあります。
そういったWebサイトとして閲覧できる場所で自分の欲しい拡張機能を探すことができます。
またそれだけではなく、VSCodeの機能の中から直接拡張機能のマーケットプレイスのなかを検索し、ヒットしたものを自分の環境に取り込むような使い方もできます。
利用者にとっては非常に便利な機能となっています。
VSCodeは多くの人に利用されています。StackOverflowの実施したある調査ではなんと開発者の74.48%が使用しているという結果が出ています。
そして公開されているExtensionの数は40,000を超えています。
ところで、VSCodeはエディタです。
エディタはエディタ利用者の権限で動作します。
エディタ利用者が編集や操作のできるファイルを取り扱うことができます。
そこで利用される拡張機能も基本的にはファイルの編集作業を支援するようなものが想定されています。
このため、拡張機能もエディタ利用者の権限で動作します。
拡張機能の動作にあたって、その機構はなんらかのサンドボックスの中で隔離されて動作するような仕組みにはなっていません。
そのまま拡張機能がエディタの利用環境と同じ環境で動作します。
怪しい機構が拡張機能に含まれていると、その怪しい機構はそのままその場所で動作してしまいます。
PythonのPyPIも、似たことになっています。
Node.JSのnpmも、似たことになっています。
RubyのRubyGemsも、似たことになっています。
こういったいろいろな環境は、ソフトウェアサプライチェーン攻撃の危険にさらされています。
似た名前のものとして悪意のあるものが届けられてしまうこともあるでしょうし、本家の拡張機能のメンテナが変わって内容が変わってしまうこともあるでしょう。
最初は悪意ある内容がなかったのにバージョンアップしたら内容が怪しくなったなんて言うパターンもあるでしょう。
どれもソフトウェアサプライチェーンの脅威です。
利用者が多くて公開されている拡張機能がたくさんある、そんな場所には通常のユーザだけが集まってくるわけではないということでしょうか。
参考記事(外部リンク):Can You Trust Your VSCode Extensions?
blog.aquasec.com/can-you-trust-your-vscode-extensions
この記事をシェア |
---|