多くの人がVPNを使う理由はひとつ、プライバシーのためです。認証バッジが付き、特集枠に掲載され、インストール数も10万件超のFreeVPN.Oneは、安全な選択肢に見えました。ところが、いったんブラウザに入ると、あなたを守るどころか、あなたを継続的に監視します。
たとえば、機密性の高い社内情報が入ったGoogleスプレッドシートを開く、銀行口座にログインする、出会い系アプリを閲覧する、家族のプライベート写真を見る――あなた自身の日々のブラウジングを思い浮かべてください。
その一瞬一瞬が、 スクリーンショットとして記録され、同意なく外部へ送られているのです。
それなのに、プライバシーポリシーでは開発者がこう述べています:「開発者は、あなたのデータを収集または使用しないことを開示しています。」
現実は?まったく逆です。
監視がどのように機能するのか
実際の動作はこうです。あなたがページからページへ移動する間、拡張機能は一連の不審な動作を実行します。
無音のスクリーンショット取得
どのページでも読み込みから数秒後、バックグラウンドのトリガーがスクリーンショットを取得し、ページURL、タブID、一意のユーザー識別子と一緒にaitd[.]one/brange.phpへ送信します。ユーザー操作は不要、UI上のヒントもなし。あなたが気づかないまま、バックグラウンドでスクリーンショットが撮られます。
この拡張機能は、スクリーンショットを取得するために高度な2段階アーキテクチャを採用しています。まず、マニフェスト内の広範なmatches: ["http://*/*", "https://*/*"]パターンにより、コンテンツスクリプトがあらゆるHTTP/HTTPSサイトへ自動的に注入されます。ページ読み込み時、コンテンツスクリプトは遅延トリガーを実行します:
このコードはページ初期化から正確に1.1秒待機し、その後、スクリーンショット取得を要求する内部メッセージcaptureViewportをバックグラウンドのサービスワーカーへ送ります。この遅延により、キャプチャ前にページが完全にレンダリングされ、収集され得る機微情報の品質が最大化されます。バックグラウンドのサービスワーカーはこのメッセージを受け取り、Chromeの特権APIchrome.tabs.captureVisibleTab()を使って実際のスクリーンショット取得を実行します。
「AI Threat Detection」クリック
「Scan with AI Threat Detection」をタップすると、拡張機能はページ全体のスクリーンショットを取得し、サーバー側分析のためにaitd[.]one/analyze.phpへアップロードします。公平を期すと、プライバシーポリシーには、この機能がページのスクリーンショットとURLを同社の保護されたサーバーへアップロードする可能性があることが記載されています。しかし、記載されていないのは、あなたがそのボタンをクリックするずっと前から、拡張機能がすでにバックグラウンドでさらに多くのスクリーンショットを撮っているという事実です。UIは一度きりのローカルスキャンのように見せますが、監視はすでに進行しています。
実環境での収集
インストール時および起動時に、この拡張機能はIPジオロケーションAPIへ問い合わせて位置情報の詳細を取得し、デバイス情報を収集し、そのデータをbase64エンコードした分析情報としてaitd[.]one/bainit.phpへ送信します。
最新バージョンでは検知しづらく
最新リリースでは、開発者がAES-256-GCM暗号化とRSAキーラッピングを導入し、通信中のデータを隠すようにしました。挙動自体は変わりません。依然として、あらゆるWebサイト訪問で黙ってスクリーンショットを取得しますが、ネットワーク監視による流出検知ははるかに困難になります。
過剰な権限とプライバシーリスク
VPN拡張機能は、正当な中核機能のためにproxyやstorageのような権限を必要とすることがありますが、これは広範なデータ収集を可能にする、さらに多くの権限を要求しています。
FreeVPN.Oneは、<all_urls>、tabs、scriptingを要求しています。これは持続的な監視への扉を開く3点セットです。
<all_urls>権限により、拡張機能はあなたが訪れるすべてのサイトへアクセスできるようになります。この広い到達範囲により、どこへ行ってもコンテンツスクリプトを注入できます。この権限を使って、気づかれないようにcaptureViewportメッセージを送信し、あなたが開くすべてのページでスクリーンショットをトリガーします。
実際にそれらのスクリーンショットを取得するために、拡張機能はcaptureVisibleTab() APIを使うためのtabs権限と、JavaScriptを動的に注入するためのscripting権限も必要とします。
スクリーンショットはあなたを待ちません。tabs権限はchrome.tabs.captureVisibleTab()を可能にし、captureViewportメッセージを受け取ると自動的にスクリーンショットを取得します。
一方、scripting権限が作動するのは「Scan with AI Threat Detection」をクリックしたときだけで、chrome.scripting.executeScript()をトリガーしてページ全体のスクリーンショットを取得するコードを実行します。
重要なのは、スクリーンショットにはパスワード、銀行情報、個人的なメッセージ、画面上に表示されるあらゆる機微データが含まれ得ることです。これらの画像はVPN提供元とは別の第三者サーバーへアップロードされます。これは、プライバシーツールがすべきことと真っ向から反する流出経路です。
ただのVPNだった。そこから盗撮が始まった。
何年もの間、FreeVPN.OneはChromeウェブストアに静かに存在し、謳っているとおりのことをしていました。基本的なVPNツール。これから起きることを示唆するものは挙動に何もありませんでした。ところがある日、開発者はおそらくユーザーの画面をキャプチャしたいと考えたのでしょう。
v3.0.3 — 2025年4月 — 扉を開く
それは他のアップデートと同じように、静かで目立たず、しかし重大な変更を隠していました:<all_urls>権限です。これにより拡張機能は、あなたが訪れるすべてのサイトへアクセスできるようになりました――VPNに必要な範囲をはるかに超えています。この時点では、権限によりアクセス範囲は広がったものの、コンテンツスクリプトは依然としてVPN提供元のドメインに限定されていました。まだ盗み見はない。しかし扉は開きました。
v3.1.1 — 2025年6月 — 限界を試す
「AI Threat Detection」を含むリブランド、あなたが訪れるすべてのWebサイトへのコンテンツスクリプト拡張、そしてscripting権限の追加。ユーザーにはセキュリティ強化に見えました。実際には、開発者が疑いを招かずにどこまでできるかを試していたのです。
v3.1.3 — 2025年7月17日 — 全面投入
2025年5月31日、ドメインaitd.oneが登録されました。その1か月後にv3.1.3がリリースされ、盗み見が稼働しました:
- すべてのサイトでの無音スクリーンショット
- 収集開始:位置情報の追跡とデバイス詳細の収集
- データ流出開始:すべてを新しい
aitd.oneサーバーへ送信
v3.1.4 — 2025年7月25日 — 痕跡を隠す
データ窃取が検知可能だと気づいた開発者は、AES-256暗号化、RSAキーラッピングを追加し、新しいサブドメインscan.aitd.oneへ切り替えました。挙動は同じ、検知はより困難に。
信頼されていたVPNとして始まったものが、いまやオンラインでの行動を常時覗き込む窓になりました。
彼らは認証ステータスを獲得し、Chromeウェブストアで特集枠にまで掲載されています。そしてChromeは、拡張機能の新バージョンに対して自動スキャン、人手レビュー、悪意あるコードや挙動変化の監視によるセキュリティチェックを行っていると主張しています――しかし現実には、これらの安全策は機能しませんでした。この事例は、そうした保護があっても危険な拡張機能がすり抜け得ることを示し、主要ブラウザのマーケットプレイス全体に深刻なセキュリティ上の穴があることを浮き彫りにしています。
開発者の見解を、現実と照らし合わせる
私たちは誤解があった可能性を確認するため、開発者に連絡しました。彼はいくつかの説明を提示しましたが、残念ながら私たちの観測結果は彼の主張と一致しません:
- 自動スクリーンショット取得はバックグラウンドスキャン機能の一部で、疑わしいドメインの場合にのみトリガーされるはずだと説明しました。しかし実際には、GoogleスプレッドシートやGoogleフォトのような信頼できるサービスでもスクリーンショットが取得されていました。これらは疑わしいとは言えないドメインです。
- バックグラウンドスキャンは当初、全ユーザーでデフォルト有効になっており、将来のアップデートでは明示的な同意が必要になるよう変更する予定だと言いました。しかしその変更が展開されるまでの間、ユーザーの認識や許可なしにスクリーンショットが取得され、彼のサーバーへ送られています。意図に関係なく、信頼を損なうギャップです。
- スクリーンショットは保存も利用もされず、潜在的脅威のために短時間分析されるだけだと述べました。問題は、この主張を第三者が独立に検証できないことです。スクリーンショットがユーザー端末を離れた時点で、保持されていないことを確認する手段はありません。
- 企業プロフィール、GitHubアカウント、LinkedInページなど正当性の証拠提示を求めると、開発者は私たちのメールへの返信を止めました。唯一見える痕跡はphoenixsoftsol.comに紐づくメールで、現在そのドメインは無料枠のWixテンプレートページに解決され、背後に実在する企業の兆候はありません。
- 彼は、5年間にわたりユーザーに誠実に仕え、無料VPNサービスを提供し続け、データを売ったことは一度もないと主張しました。この主張は検証が難しく、結局のところ開発者を信じる必要があります。しかし仮に額面どおり受け取ったとしても、無料VPNを提供していることは、人々の認識や同意なしに画面をひそかにキャプチャする権利を与えるものではありません。これが核心であり、この点について開発者は納得のいく回答を示せませんでした。
FreeVPN.Oneは、プライバシーを掲げたブランディングが罠へ反転し得ることを示しています。守りを求めて手に取ったはずが、道具のほうがあなたを見返してくる。安全として売られるものが、あなたが何をし、どこにいるかを収集する静かなパイプラインになります。
• • •
このレポートはKoi Securityのリサーチチームが執筆しました。健全な偏執と、より安全なオープンソースエコシステムへの希望を添えて。
SpyVPNは、悪意ある拡張機能がマーケットプレイスのセキュリティをすり抜け、機微データを侵害することがいかに容易かを示しています。Koiにより、セキュリティチームは、バイナリ/非バイナリソフトウェア全体にわたる可視化、リスクスコアリング、ガバナンスを、本番投入前に得られます。
レガシーツールが見落とすギャップをKoiがどう埋めるのか、デモを予約してご確認ください。
長い間、信頼できない第三者コードの利用――しばしば最高権限で動作するもの――は、企業側にも攻撃者側にも見過ごされてきました。その時代は終わりつつあります。潮目が変わっています。つい先月も、特集・認証済みの拡張機能18本が悪性化した別のキャンペーンを発見し、数百万人のユーザーに影響しました。
私たちはこの瞬間に応えるためにKoiを構築しました。実務者にも企業にも。私たちのプラットフォームは、Chromeウェブストア、VSCode、Hugging Face、Homebrew、GitHubなど、そしてそれ以外のマーケットプレイスからチームが取り込むあらゆるものを発見し、評価し、統制するのに役立ちます。
Fortune 50企業、BFSI、そして世界最大級のテック企業の一部に信頼され、Koiは可視化の獲得、ガバナンスの確立、この広大な攻撃対象領域におけるリスクの予防的低減に必要なセキュリティプロセスを自動化します。
近いうちに、さらにいくつかのサプライズも控えています。続報をお待ちください。
IOCs
拡張機能ID:jcbiifklmgnkppebelchllpdbnibihel
ドメイン
aitd.one
extrahefty.com
freevpn.one
scan.aitd.one
翻訳元: https://www.koi.ai/blog/spyvpn-the-vpn-that-secretly-captures-your-screen