ITmedia NEWS > STUDIO >
速報
» 2022年08月22日 09時10分 公開

TikTokのiOSアプリも「キーロガーと同じような動作」と開発者が指摘

TikTokのiOSアプリは、TikTok外のWebサイトを開くのにアプリ内ブラウザしか使えず、ブラウザはJavaScriptコードでユーザーのキーストロークを入手できるとアプリ開発者が指摘した。TikTokはそのコードは「デバッグ、トラブルシューティング、パフォーマンス監視にのみ使われている」と主張する。

[ITmedia]

 中国ByteDance傘下の米動画共有サービスTikTokのiOSアプリでTikTok外のサードパーティWebサイトを開くと、アプリ内Webブラウザが特殊なJavaScriptコードを使い、TikTokがユーザーのキーストロークを入手できるようにしていると、米MetaのInstagramについて同様の指摘をしたフリーランス開発者、フェリックス・クラウス氏が8月18日、自身のブログで詳細を解説した。

 同氏は10日にInstagramのiOSアプリのJavaScriptコードについて説明した。今回は、その反響を受け、アプリによるJavaScriptコマンドをユーザーが自分で確認するためのツール「InAppBrowser.com」を公開したことも発表した。

 TikTokアプリについてクラウス氏は「TikTokアプリ内でレンダリングされたサードパーティWebサイトで発生するすべてのキーストロークをサブスクライブする。これには、パスワード、クレジットカード情報、その他の機密データが含まれる可能性がある。(中略)TikTokがこうしたサブスクリプションを何に使うのかは不明だが、技術的にはこれはサードパーティのWebサイトにキーロガーをインストールするのと同じことだ」と説明した。

 キーロガーとは、ユーザーが入力した文字や入力のタイミングなどを収集するためのツール。もともとはユーザーインタフェースの改良やデバッグ目的で開発されたものだが、個人情報を盗む目的で悪用されることも多い。

 この説明に対し、TikTokは同日ツイートで「この報告の結論は正しくなく、誤解を招くものだ。このJavaScriptコードの目的は、テキスト入力を収集することではなく、デバッグ、トラブルシューティング、パフォーマンス監視にのみ使われている」と反論した。


 クラウス氏はブログで、TikTokがサブスクリプションしているからといって、「悪意を持って」そうしているとは限らないとも指摘している。なお、「アプリがサブスクライブする」とは、アプリがJavaScriptのイベントをサブスクライブするという意味だと同氏は説明した。

 クラウス氏は、いずれにしてもアプリからサードパーティのWebサイトを開く場合は、可能であればアプリ内ブラウザではなく、端末にインストールしてあるWebブラウザアプリ(Safariなど。以下、デフォルトブラウザ)を使うよう勧めている。MetaのInstagramとFacebookもそのままではアプリ内ブラウザで開くが、デフォルトブラウザを使うオプションを提供している。

 だが、TikTokはそうしたオプションを提供していない。

 tiktok アプリ内ブラウザでJavaScriptコードを使っているサービス一覧(フェリックス・クラウス氏が調査結果をまとめたもの)

 クラウス氏によると、同氏の前回のブログを公開した後、アプリ内ブラウザを使っている企業の多くがJavaScriptコードが検出されないようにアプリを更新したという。「つまり、アプリ内ブラウザの使用しないソリューションを見つけることがこれまで以上に重要になっている」とクラウス氏。

 同氏は、Safariを使うiOSアプリの一覧も提供した。少なくとも以下のアプリはアプリ内ブラウザを使っていないとしている。

 tiktok 2 Safariを使うiOSアプリ

 クラウス氏はアプリ開発自動化ツール「fastlane」の開発で知られるフリーランス開発者。米Twitterや米Googleでアプリ開発に従事した経験もあり、現在はGoogleのコンサルタントを務めている。

Copyright © ITmedia, Inc. All Rights Reserved.