やじうまの杜

「Visual Studio Code」に“拡張機能の更新を2時間遅らせる”措置、懐疑的な意見も

v1.123から適用

 「やじうまの杜」では、ニュース・レビューにこだわらない幅広い話題をお伝えします。

「Visual Studio Code」に“拡張機能の更新を2時間遅らせる”措置

 アプリ開発の生産性を大きく改善してくれる「Visual Studio Code」の拡張機能は、もはや開発者にとって欠かせないものです。しかし近年、この拡張機能を狙った攻撃が相次いでいます。有名なサービスの公式拡張機能を偽装したり、定番の拡張機能を乗っ取って、開発者の「Visual Studio Code」ワークスペースに侵入し、いろいろな悪さをするわけです。

 そこで、「Visual Studio Code」や拡張機能ライブラリにもさまざまな対策が施されているわけですが、その一環で、最近リリースされた「Visual Studio Code」v1.123には自動更新を2時間遅延する機能も導入されているのだとか(ただし、MicrosoftやGitHub、OpenAIといった“信頼できる発行元”による拡張機能には、この更新遅延は適用されません)。

 この目的は『問題のあるリリースやセキュリティ上のリスクが懸念されるリリースに対する保護』を強化するためだとのこと。たとえば、愛用の拡張機能になんらかの悪意あるコードが紛れ込んでも、それが即座に「Visual Studio Code」へ侵入してしまうことを防ぐことができます。

 開発者向けのニュースサイト「InfoQ」によると、「Reddit」などではこの措置に対する懐疑的な意見や批判が多数寄せられているとのこと。『脆弱性修正の適用が遅れるのではないか』『インストールを2時間遅らせたところで、なにを防げるというんだ』というわけです。

 それに対して、セキュリティ専門家は以下のように答えています。

  • 『即時更新が安全という神話は誤り』:高セキュリティ環境ではアップデートを検証するため、1週間から1カ月遅らせるのが普通
  • 『悪意あるコードの検出の多くは、自動スキャナーによるもの』:人が目視で見つけることは少なくなっており、新しいパッケージはスキャナーがすぐに検査する(ただし、フラグが立ったあとに人が脅威の真偽を確かめる必要があるため、2時間ではやや短いという見方も)

 なるほど。

 一方で、拡張機能をサンドボックス化してセキュリティを高められないか、ごく一部のユーザーへ先に配信して段階的にロールアウトする仕組みを整えられないか、といった意見もありました。また、プラグインを介した攻撃が問題になっているにもかかわらず、こうした“クールダウン”の仕組みを持たない「WordPress」のような製品こそ見直すべきだ、という指摘も挙がっています。

 皆さんはどう思われますか?