「いいね非公開化」変更のX、有志が“いいねした人を見るツール”公開に反響…安全?どんな仕組み?プログラムを解説
短文共有SNS「X」は12日、サービス内においてポスト(投稿)への“いいね”を一括して非公開化する仕様変更を発表。同日以降から「投稿に誰がいいねしたか」「他ユーザーがいいねした投稿一覧」を取得することができなくなりました。
X公式によると、この変更は「みなさんのプライバシーをより守る」ことを目的に行われたとしており、本変更を主導したと見られるイーロン・マスク氏は「非公開にしたらいいねが激増した」とその効果をアピールしています。一方で、あまりにも急な仕様変更にユーザーからは混乱が見受けられ、賛否両論も巻き起こっています。
そして、新仕様に不満を持つ利用者に向けて、ある有志のプログラマーが「これまで通りにいいねしたユーザーを見る」ことができるツールを公開する事態にまで発展。1万いいね近くの拡散が集まり、多数の使用報告が寄せられています。
このツールはウェブ版X(x.com)上で提供されており、第三者のウェブサイトに記載されている簡単な導入手順に従うと、専用のダイアログが表示され、従来通りいいねしたユーザーをチェックすることができます。
一般にこの類のツールは「拡張機能」として提供されていることが多く、パソコン版のWebブラウザでしか利用できない場合がほとんど。しかし、今回の「いいねした人を見るツール」はPCだけでなくスマホ(Android・iOS)でも利用可能という極めて異例なものになっており、一つの注目要因とされています。
裏を突いた“賢い方法”で実現、安全性は?
ここで気になるのが「本当に安全かどうか」という点ですが、結論として「部分的に安全」であることが解析により判明しました。「WebブラウザであればPCスマホ問わず使える」という非常に特殊な要件を満たすため、プログラムコードは幾重にも工夫が施されていましたが、コード自体には危険な動作を行う要素はありませんでした。
その工夫を簡単に説明すると「いいねユーザー一覧を表示するメインプログラムを『画像』に変換して外部サーバーに保存→保存した画像を各個人のブラウザで読み出して、解読してプログラム化、それを実行する。」というもの。かなりの強行突破とも言えますが、当該コードにもウィルス的な動作は見受けられませんでした。
しかし、一概に「安全」とは言い切れないのもまた現状です。理由は複数ありますが、一つに「ブラウザが本来想定していない動作を行っている」という点が挙げられます。先の説明の通り、処理を複雑な手法で実行しているため、万一悪意ある者が配布ページやコードを改ざんされたとしても、検出が困難であったり発覚まで時間がかかったりする可能性も存在します。
これはこのツールに限らず、すべての拡張機能にも言えることですが、信頼できる作成者かどうか、そのプログラムはどういう動作をするか、を少しでも知る必要がありそうです。
なぜ見られる?→「急すぎてX側が対応できていない」から
そしてもう一つ、「なぜツール上で今もいいねした人が見られるのか」についても紹介すると、結論は「XがまだAPIを開放したまま放置しており、そのデータを取得して表示しているから」です。
APIとは、処理結果やデータをアプリ・サーバー間とやり取りする仕組み。今回のケースでは「いいねを非表示にしろ」という急な仕様変更が起こったことで、Xのプログラムが完全に新仕様に対応できない事態が発生し、その隙をついて実現したものと見受けられます。
そのため、Xが完全に新仕様に対応し、開放したままだった「いいねを見る」APIを閉鎖すればこのツールは使えなくなり、本当の意味での非公開化となるでしょう。ちなみに、このツールは呼び出すごとに「Xにポストされた画像をリクエストする」との動作が入るため、当該画像が削除されると動かなくなります。
ツール配布者も「自己責任でご利用ください(本ツールの利用により発生したいかなる直接的・間接的損害に対して一切責任を負いません)」と免責事項を伝えているため、これらリスクを理解したうえで自己責任で利用していくことが重要です。
(参考)プログラム本体の動作内容取得手順
1. ブックマークレットを平易化(URLデコード・UTF-8デコード)
2. コード化された画像を読み出すプログラムを書き換え
3. デバッグ用にテキストを出力
4. 出力文字列をBase64デコード