VSCodeのテーマ変更したらハッキングされる未来が見えた話
0. ご挨拶
あけましておめでとうございます!QAエンジニアの内田です。
今年は前厄ということもあり、新年早々に家の鍵がぶっ壊れてしまいました。
(内側からつまみを回してもスカスカしてるんですよね、でもドアが開かないのです)
なんとか鍵屋さんに鍵交換をしてもらって一段落しました。
入金の催促をされながらこの記事を書いています。
そんな自分の今年の抱負は以下です
- アウトプットの質にこだわらない
- 推しへの重課金
1. はじめに
VSCodeの拡張機能は思ったより簡単に悪意あるコードを仕込めるよって話をします。
- 対象読者:VSCodeを普段から使用している人
2. 事の発端
「VSCodeの見た目飽きたなぁ。」
デフォルトテーマに飽きた私は、新しいテーマでテンション爆上がりする未来を夢見て、拡張機能探しの旅に出ました。
どうやら「dracula」というテーマが有名らしいです。美しい配色と疲れにくい画面が特徴とのこと。
たしかに!めちゃんこかわいい!!
これをインストールしようとVSCode上で拡張機能検索をしました。
すると複数の拡張機能がヒット。
なんだか怪しさのあるパチモンらしき拡張機能も大量ヒットしました。
3. パチモンの正体を詳しくしらべる
ドラキュラのアイコンだけど当初見たアイコンと違う...
インストール数が一番多いものが正規の拡張機能のようですが、二番目以降もなかなかにインストール数が多いです。
どれが一番かわいいdraculaテーマかさらに調べてみると、以下の記事がヒットしました。
oh...なんということでしょう...
いろいろな情報を送信してしまってますね...
環境変数が読み込めるということはDBのパスワードだったりも読み取れそうですね。
もし見ていた拡張機能が悪意ある拡張機能だった場合、
あと数クリックで私の開発環境がハッカーの遊び場になるところでした。危ない危ない。
4. VSCode拡張機能は自由すぎる世界だった
調べたところ、VSCodeは
- テーマの変更用拡張機能だからといってテーマに限った変更のみができる、というわけではない。なんでもできる
- その自由度の高さ、それに紐づく開発体験の良さが売り
- vscodeの拡張機能に審査はない。ドメインさえ用意すれば公開できる
らしいです。
5. まとめ
今回の失敗未遂からの教訓
- 悪意ある拡張機能を公開するのは超簡単
- 悪意ある拡張機能は大量に存在する
悪意のない素晴らしい拡張機能がたくさん世に出ているのも事実です。
ですので、見極めることが大事なんだと思います。
データを吸い取られる前にチェックしましょうね!(吸血鬼だけに!)
短くなってしまいましたが、以上です!
Discussion