写真のメタデータ問題:クラシファイド広告サイトが広告主の居場所を晒す仕組み

広告主が新しい掲載ページを作るとき、多くの人がすることはいたって普通だ。カメラアプリを開き、明るい場所で数枚撮影し、アカウントにアップロードして掲載を公開する。この一連の作業のどこにも、セキュリティ上の判断をしているという感覚はない。ページを最速で公開する手段としか感じられないし、実際ほとんどのサイトではその通りに速く進んでしまう。五分前に撮った写真と、見知らぬ第三者がページ上で目にする写真との間には、何も立ちはだかっていない。
その見知らぬ第三者に見えるものは、写真の枠内に写っているものだけにとどまらない。位置情報の利用を許可されたスマートフォンのカメラ(実際、ほとんどの端末がほとんどの場面でそうしている)は、撮影した場所の緯度と経度を、ファイル自体の内部にあるデータブロックに書き込む。これはEXIFメタデータと呼ばれる。この座標は、アップロード、保存、公開という一連の流れの中で、どこかで意図的に取り除かれない限り、ファイルとともに移動していく。広告主自身の寝室を、そのまま見せるために撮影した寝室の写真には、初期設定のままであれば、その寝室の住所が内部に埋め込まれている。
これはセキュリティ研究者が発見した理論上の欠陥ではない。休暇の写真を場所ごとに整理したいという撮影者のために、あらゆる携帯電話メーカーが下した同じ設計判断が、まったく別の用途で撮られた写真にも例外なく適用されているだけだ。カメラ側は、この一枚の写真が、撮影者が自宅の住所を絶対に結び付けたくないような場所へ送られることになるとは、知りもしないし知る手段もない。
スマートフォンが写真に密かに書き込んでいるもの
対策が実際に何をすべきかを左右するため理解しておく価値がある技術的な詳細は、EXIFデータが画像ファイルそのものの内部、目には見えず、指定しない限りほとんどの写真ビューアーが表示しない部分に格納されている、という点だ。これはキャプションでもファイル名でもなく、広告主が入力するようなものでもない。シャッターが切られた瞬間にOSが自動的に付与し、ファイル名の変更や移動、メール添付を経ても消えずに残る。確実に取り除けるのは画像を再エンコードすること、つまりピクセルデータを分解して新しいファイルとして書き出す処理であり、これによって古いメタデータは、保持するよう明示的に指示しない限り取り除かれる。
ほとんどの人がすでに一度は経験しているのに、なぜそうなるのか理由を知らない状況が一つある。写真をスクリーンショットで撮ると位置情報が付かない、というものだ。スクリーンショットは画面に表示された内容をまるごと新しく撮り直した画像であり、元のファイルに隠れていたデータは一切引き継がれない。これはまた、善意の広告主が後から位置情報サービスをオフにするだけでは自分自身を確実には守れない理由でもある。設定がオンのときに撮影済みの写真には、すでに座標が焼き込まれており、設定を切ってもそれ以降に撮る写真の扱いが変わるだけで、カメラロールにアップロード待ちのまま残っている写真には何の影響もない。
これは何も新しい話でも、知られていない話でもない。コロラド大学ボルダー校が2012年に行った調査では、90のデートサイトを調べたところ、そのうち21サイト(大半は同一の運営会社によるもの)が、写真に埋め込まれた位置情報を取り除かずに公開していたことが分かった。これは一人の悪質な事業者による例外的な結果ではない。業界全体のおよそ四分の一が、十年以上前の時点で、誰も求めていないし存在すら知らなかった機能を通じて、静かに自宅の住所を配布していたということだ。
この不備が、ここでは意味が違ってくる理由
一般的なクラシファイド広告サイトであれば、この種の漏洩は単に体裁が悪いという話で済む。しかし、写真に写っている本人が独立して活動するプロバイダーであり、その収入は連絡が取れることに、その安全は居場所を特定されないことに、それぞれかかっているサイトでは、同じ漏洩がまったく別の種類の問題になる。住所は、中古のソファを売る出品者に関する些末な付随情報ではない。それは、その掲載ページが決して明かさないよう特別に設計されている、まさに唯一の情報であり、広告主自身が公開を選んだ写真のすぐ下に、静かに存在している。
一度の露出がどれほどの量を運びうるかは、2025年7月、デート安全性アプリのTeaが、公開状態だったデータベースからハッカーが約72,000枚の画像にアクセスしたと開示したことで、具体的な数字として示された。そのうち約13,000枚は本人確認のために提出されたセルフィーおよび身分証明書の画像で、約59,000枚は投稿、コメント、ダイレクトメッセージから抜き出された画像だった。同社は、メールアドレスや電話番号は露出していないこと、そして影響を受けたのは2024年2月より前に作成されたアカウントのみであることを説明した。攻撃者がこの流出画像の中から、埋め込まれた位置情報を狙って探し出したと主張する者は誰もいないし、本稿もそのような主張をするものではない。
Teaの流出事件が実際に示しているのは、もっと限定的で、しかしより実用的なことだ。プラットフォームが、アプリやブラウザから元々アップロードされた未加工のファイルをそのまま保存し配信している場合、そのファイルが内部に含んでいるものは何であれ、そのファイルが後にたどり着くあらゆる場所に、侵害の有無を問わず一緒に運ばれていく。クラシファイド広告の掲載ページでは、これが起きるのにハッカーさえ必要ない。メタデータが取り除かれる前に写真が公開されるたび、プラットフォーム自身が、意図的に、そのファイルを一般公開しているのだ。
古くて、地味で、すでに解決済みの問題
安心材料となるのは、これが難しい技術的課題ではなく、ずっと以前からそうではなかったという点だ。FacebookとInstagramは、一般に配信する写真のコピーから位置情報メタデータを取り除いており、それを何年も続けている。一日に数億件のアップロードを抱えるプラットフォームは、この件についてユーザー一人ひとりと相談するような余裕を持てないからだ。この処理は、写真が公開されるまでに必ず通るコード経路の中で、一箇所、中央集権的に処理されており、誕生日の写真をアップロードする誰も、この件について考える必要は一切ない。
この不備が現れるのは、当然ながら、この処理をあらかじめ組み込まなかった、より小規模で専門化されたプラットフォームだ。小さなチームの誰も、この件の担当を割り当てられていないし、ユーザーが、自分が欠けていることすら知らない機能を求めてサポートチケットを出すこともない。位置情報を用いたデートアプリを調査した2024年の学術論文では、調査対象の一つであるMeetMeが、元のEXIFメタデータをそのまま残した状態で写真を配信していた一方、同じ調査に含まれた他のすべてのアプリは適切にそれを取り除いていたことが分かった。この問題を解決済みのプラットフォームと、まだ手をつけていないプラットフォームとの差は、コンテンツの機微さの度合いとは関係がない。エンジニアリング側の誰かが、この項目にチェックボックスを付けたかどうかの差にすぎない。
この差は、実務上だけでなく法律上も重要な意味を持つ。この種の精密な位置情報は、複数の法域のプライバシー法において、それ自体が独立した保護対象カテゴリーとして扱われている。カリフォルニア州のプライバシー法も、対象者を半径約1,850フィートの範囲内に特定できるデータと定義される「精密な位置情報」を、独自の規則が適用される機密個人情報として明示的に列挙している。誰も細かく確認していない写真に埋め込まれたまま、うっかりそのデータを公開してしまったクラシファイド広告の運営者であっても、露出が意図的でなかったという理由だけで、これらの規則の適用を免れるわけではない。
広告主だけでは解決できない理由
分かりやすい対応策として、広告主自身にジオタグ機能をオフにするよう伝えるという方法が思いつくかもしれない。もっともらしく聞こえるが、実際には機能しない。ほとんどの人は、この機能を制御する設定画面を一度も開いたことがなく、そんな設定が存在することも知らず、何か問題が起きるまでそれを探しに行く理由もない。知っている人でも、新しい端末に買い替えるたびに忘れがちだ。設定は端末が変わるとリセットされるからだ。例外なく、すべての広告主が、すべての端末で、永久に正しく覚えておかなければならない習慣は、安全対策とは呼べない。単なる願望にすぎない。
これは、技術的な安全対策の実行責任を、それを一貫して守る立場に最も適さない相手、つまり利用者本人に委ねてしまう場合に必ず現れる、同じ死角だ。結局、あらゆるファイルについて、毎回確実に安全対策が実行されることを保証できる立場にあるのは、運営者だけだ。提出された本人確認書類をサーバー上にどれくらいの期間保管するかを、誰も意図的に決めていなかったのと同じ構図であり、ここで決められずに放置されてきたのは、公開された写真が今なお広告主の自宅玄関を指し示せる状態のままであるべきかどうか、という問題だ。
アップロード処理が実際にすべきこと
この修正は完全にサーバー側、つまり写真が公開される前に必ず通過する処理コードの中で行うべきものであり、広告主が覚えておかなければならない設定項目にすべきではない。画像を再エンコードする処理、サムネイルやプレビューに必要な縮小版を生成するために、ほとんどのアップロード処理があらかじめ行っているこの処理は、ツールによってEXIFデータを副作用として取り除くものと取り除かないものがある。人気の高いSharpライブラリはこの処理中にデフォルトでEXIFデータを取り除くが、同じくらい人気の高いImageMagickは、メタデータを取り除くよう明示的に指示するフラグを渡さない限り、それを保持し続ける。この二つのツールは初期設定のままでは挙動が異なるため、縮小処理が既に存在しているという理由だけで安心してはいけない。
あるアップロード処理が実際にどちらの挙動をしているのかを知る唯一の方法は、直接テストすることだ。位置情報を有効にした端末で写真を撮影し、実際の広告主が使うのと同じ経路でアップロードし、そのサイトが実際に一般公開しているファイルをダウンロードして、無料のEXIFビューアーでメタデータを確認する。座標がまだ残っていれば、その縮小処理は、想定されていた役割を果たしていない。裏側でどのライブラリが動いていても関係ない。
この問題を避けるための二つの近道は、いずれも同じ理由で失敗する。ブラウザ側のクライアントサイドコードでメタデータを取り除く方法は、うまくいっているように見えるが、モバイルアプリや一括インポートツール、あるいは同じアップロードエンドポイントへの直接呼び出しを経由したアップロードには、そのブラウザコードがまったく実行されないため機能しない。また、サードパーティ製のアップロードウィジェットがすでにこの処理を済ませているはずだと信頼することは、実際に前段落のテストをそのウィジェットに対して行い、結果を確認するまでは、検証ではなく推測にすぎない。
これに新たな法律アドバイスやセキュリティコンサルタントは必要ない。必要なのは、今週中に誰かが一度テストを実行することだけだ。位置情報付きの写真を実際の掲載フローを通じてアップロードし、サイトが配信し返してくるバージョンを取得し、そのメタデータを開いて確認する。座標がきれいに消えていれば、その処理はすでに役目を果たしており、他に変更すべきことはない。もし消えていなければ、それは次の掲載が公開される前に取り組む価値のある、このリストの中で唯一の修正項目だ。その代わりの選択肢は、広告主が写真を投稿するたびに自宅の住所を公開し続け、それを誰も求めていない機能と呼び続けることだからだ。


