- Google Docsで文書を HTMLとしてエクスポートすると、文書内のリンク先が元のURLではなく Google のリダイレクトリンクに置き換わる事例が共有された
- この動作はスクリプト挿入ではなく、
[ の実際のリンク先変更であり、画面に表示される リンクテキスト だけでは見抜きにくい
- 再現は Google Docs にリンクを入れ、
File > Download > Webpage で ZIP を受け取った後、HTML ファイルやブラウザのリンクプレビューで確認できる
- 代替案として Collabora Office が挙げられ、LibreOffice ベースで Nextcloud インスタンス・クラウドホスト・自前ハードウェアで利用できる
- コメントではログイン・Cookie・IP と user agent の収集可能性、GDPR 同意の問題、CryptPad・OnlyOffice・Nextcloud のような 共同編集ドキュメント代替 にまで議論が広がった
Google Docs の HTML エクスポートで書き換わるリンク
- Joe は Google Docs 文書を HTMLとしてエクスポートする際、文書内のリンクが Google の見えない追跡リダイレクトに置き換えられると指摘した
- スクリプトが追加される方式ではなく、HTML の
href 値そのものが実際の遷移先であるため、表示テキストだけを見るとリンク変更に気づきにくい
- HTML では
href="..." と "> の間が実際の遷移先で、> と ](...) の間が画面に表示されるテキストだと説明している
Read more、Profile、Wiki のように表示テキストと実際のリンクを変える機能自体は有用だが、この事例ではその機能が誤って使われていると見ている
再現方法と観測された動作
- 確認手順は簡単
- Google Docs 文書を作成してリンクを挿入する
File > Download > Webpage でダウンロードする
- ZIP 内の HTML ファイルをテキストで開くか、ブラウザで開いてリンクにマウスを重ねる
- Joe はリンク末尾にも追加情報が多く含まれていると付け加えた
- Google がリンクリダイレクトを通じて Google 製品を使っていない人まで追跡でき、文書作成者や最終利用者の同意なしに HTML エクスポートへこうしたリンクが含まれていると主張している
Collabora Office とセルフホスティング代替
- Collabora Office は Google の共同編集オフィス技術に対する自由ソフトウェア代替として挙げられている
- LibreOffice 技術ベースで、Collabora は LibreOffice の最大の貢献者だと紹介されている
- 利用手段として Nextcloud インスタンス、クラウドホスト、自前ハードウェアが挙げられた
- コメントでは Nextcloud のアプリパネルから CODE(Collabora Online Development Edition)をインストールできるという意見もあった
- インストール後に動作しない場合は SELinux コンテキスト変更が必要かもしれない
- アプリ内部インストール方式と高セキュリティの MAC 環境は相性がよくないかもしれないとの意見が添えられた
- CapRover で Nextcloud と OpenOffice サーバーを Docker ベースでデプロイしたというコメントもあり、別のコメントは Apache 設定、Let’s Encrypt、Docker ファイル処理、reverse proxy など必要作業が多いと反論した
他の共同編集ドキュメントツールと利用経験
- CryptPad はリアルタイム共同編集、エンドツーエンド暗号化、完全なオープンソースを提供する代替として言及された
- あるコメントは友人グループ作業に CryptPad インスタンスを使っており、UI は抜群ではないものの追加説明なしで使えたと述べている
- OnlyOffice は MS と Google 製品の代替により近いという意見が出た
- セルフホスティングのオンライン共同編集版とローカルのオフラインエディタの両方が言及された
- Collabora Office の Android 向け独立オフィス製品にも触れられ、F-Droid で新しいフィードをインストールする QR コードを経て利用できると説明されている
個人情報、同意、GDPR 論争
- コメントでは Google の規約上このような変換は許容されるという意見と、ユーザーが現実的には規約を拒否しにくいという反論が併存した
- Gmail データアーカイブに Steam 購入履歴のゲーム名、価格、日付が入っていたという体験談も共有された
- Google Docs の PDF エクスポートはアクセシビリティヒントを含まず、グリフ位置だけを配置するという不満も出た
- GDPR 関連の会話では、リダイレクト前に Cookie バナーが表示されるかとの質問があり、回答は表示されないという内容だった
- 別のコメントは、ログインしていない状態なら Google ドメインが受け取るのは一般的なウェブサイトと同じデータであり、Cookie を設定せず意図したリンクへ移動するなら何が問題なのかわからないと述べた
- Joe は深く調査したわけではないが、Cookie や fingerprinting の有無に関係なく、IP アドレスと user agent だけでも VPN、カフェ、共有ネットワークでなければ識別には十分かもしれないと答えた
1件のコメント
Hacker News の意見
Google Docs が今ではマルウェア配布経路として広く使われているため
ユーザーを Google Docs のページに送ると、Google ドメインなので企業のファイアウォールやウイルス対策スキャナーが信頼する
ここで「追跡」と呼んでいるものは、実際にはこのページ: https://www.google.com/url?q=https://wikimediafoundation.org...
ユーザーが Google を離れて別のサイトへ移動することを知らせ、Google Docs がマルウェア配布に使われる効果を減らそうとする仕組みに見える
真面目に言うと、こういうものを見るたびに HN のコメントで実際の事情を確認できてよかった、ということが10回中9回はある
Google が意思決定で免罪符を得る必要はないし、「ユーザーの安全」や「より良いユーザー体験」を掲げながら、結果的に Google の追跡能力も向上する例を何度も見てきた
それでも Google は互いに衝突する多くの問題のバランスを取らなければならず、自分たちの都合だけが重要だという態度は本当に嫌だ
Google がログインに二要素認証を求める論争も似ている。「二要素認証デバイスをなくす人」も妥当な懸念だが、弱いパスワードでハッキングされる人が10倍、100倍多いという点も妥当だ
単一の解決策があると主張しているわけではないが、Google が解決しようとしている問題が存在しないふりをするのは誠実な議論ではない
qパラメータの後に、こういうものがさらに付いている:&sa=D&source=editors&ust=16965233434352076&usg=Ade5344w26X85-pHzoD-rVkkdfdfBQnJ7Bこれはかなり追跡データのように見える
だが他人と「Google ドキュメントではないファイル形式」で共有しようとしてエクスポートしたのなら、問題ないとは言えない
Google エコシステムを出た瞬間、こうした保護機能は追跡機能になる
https://www.google.com/url?q=https://www.google.com/
https://www.google.com/url?q=https://www.youtube.com/
公平には見えない。これが「選んだオフィススイートを離れること」に関するものなのか、それとも「Google を離れること」に関するものなのか分からない
興味深い例として、HTTP 証明書が期限切れなのに許可される: https://www.google.com/url?q=https://www.keyhole.com/
リダイレクトの表向きの意図はフィッシング対策だと思う。つまり、既知の怪しいサイトに移動する前に Google がユーザーへ警告する機会を持つということだ
追跡できることは単なるおまけだ!
Microsoft も Teams でこれをやっている。同僚と共有する社内サイトのリンクまでリンクチェックを経てリダイレクトされる
その結果、Microsoft は外部企業の従業員の閲覧習慣について膨大なデータを持つことになったはずだ
企業がどれほど邪悪な意図であっても、正直に言ってくれればずっと尊重できる。「フィッシングから保護しようとしています。ただしリンクの99%はおそらくフィッシングではありません。なのでこの機能は実際には、皆さんが何をしているかを追跡・分析して収益性を高めるデータ収集も可能にします」
なぜ取り繕うのか分からない
会社ではフィッシングテストと教育動画を延々とやらせる一方で、まさに強調していた安全機能の一つをなくしてしまっている
クリックする前に URL を普通に見ることができない。一度、メール内のリンクをクリックして会社のフィッシングテストに「引っかかった」ことがある
ところが、うちのメールシステム自体がリンクの有効性を確認するにはクリックしなければならない、と訓練してきたようなものだ
こういう状況では勝ち目がない
https://learn.microsoft.com/en-us/microsoft-365/security/off...
なので、こういうソフトウェアでリンクを送るときは少し難読化して送る
ときにはリンクをまったく送らず、「HN item 37776492」くらいで十分に済ませる
少し宣伝すると、私が勤めている会社には、Google Docs のオープンソース AGPL [a]、エンドツーエンド暗号化の代替と見なせる CryptPad を開発しているチームがある
複数人がリアルタイムで文書を編集でき、サーバーはコンテンツにアクセスできない
当然セルフホストできるし、チームが提供するインスタンス [1] もあり、ほかの人たちが運用しているインスタンスもある
こうした誤った機能はない。スプレッドシート、文書、ブラウザで動作する ONLYOFFICE フォーク、Draw.io ベースの図表、フォーム、投票、カンバンモジュール、パッドなどがあり、ストレージもある
Google Docs のすべての機能を提供しているわけではなく、オフィススイートもそれほど完成度が高いわけではないが、さまざまな用途には十分役に立つ
ちなみにこのスレッドの複数の返信で CryptPad はすでに言及されているが、今までは私たち側ではなく、リンクを社内チャットに送ったのでチームメンバーが参加するかもしれない
[1] https://cryptpad.fr/
[a] https://github.com/cryptpad/cryptpad
新しいスライドをどう作るのか分からず、ドキュメントを読んでようやく
---だと分かったコードブロックがどの言語を求めているのかも混乱し、結局「HTML」だと当て推量した
コード片には godbolt.org 風の小さなドロップダウンメニューがあるとよさそうだ。「この高水準コードは整数のインクリメントにコンパイルされるので、ラムダを心配しなくてよい」といった共同作業の流れに向いている
Godbolt はページを hello-world の例で埋めるのも上手い。少なくとも特定の文書タイプを最初の数回作るときは、そうしたほうがよさそうに見える
これを日常的なバックエンド開発環境として使うなら、Git 連携と、okteto 風に設定した開発環境へ SSH で接続する機能が必要になりそうだ。それは別の製品に近い
毎日使うならデータのバックアップも必要だ。エンドツーエンド暗号化が壊れたり、パスワードをなくしたりした場合に備えるためだ
次の疑問はオフライン利用だ。インターネットに公開されていない LAN にバックエンドサーバーを置いて銀行口座情報のようなものを保存したいし、海外で携帯電話プランが使えなくても旅行日程を見たいし、サーバーが落ちたら端末上のデータを新しいサーバーへ「コピー」したいからだ
いずれにせよ、こういうものを何年も探していて、要件の大半を満たしているように見える
競合解決はどう動作するのか? CRDT なのか、それとも別の方式なのか気になる
Google は Advanced Protection を有効にした状態で IMAP 経由でアクセスした Gmail メール内の URL も、Google の URL リダイレクターサービスに書き換える
つまりメッセージ本文を書き換えるので、PGP 署名のようなものが壊れる
本当にひどい
FAA702 だけでも十分だったが、Google に保存されたすべてのデータに対する令状なしの監視が個人的にピンと来ていなかったとしても、政府が要求したバックドアが設置された後の Google のひどい振る舞いは十分な理由になる
もう生活から Google を取り除く時だ
そうした添付ファイルはおそらく期限切れになるし、大量監視により使いやすいだろう
大手クラウド事業者が前述の 政府バックドア義務化 をいずれも支持していた点も、改めて言うまでもない
私には規制の取り込みの動きに見えた。顧客を監視し、選択的に通報することで生まれる力を欲しがった一方で、米国市場にサービスを提供するどの会社も、実質的により良いプライバシーやセキュリティを提供できないようにしたかったのだ
数年前から、Google 検索結果のリンクをコピーすると リダイレクト URL がコピーされていた
マウスオーバーすると実際のリンクが見えるが、右クリックするとリダイレクトに変わっていた
出どころを考えれば驚きではないが
この記事は、ある会社に対して 固定観念 を持つユーザーがありふれた機能を見て、基本的にその会社の最悪の意図を想定すると何が起きるかをよく示している
エクスポート機能に「閉じたエコシステムを離れます」のような文言を削除する機能を追加するのは無料ではない
だが「Google は邪悪だ」と文句を言うのは無料だ
典型的に 怠慢を悪意と同一視 している例だ
これは追跡目的ではないと思う
追跡だけが目的なら、もっと簡単で目立たない方法がある。たとえばバックグラウンドの ping を1つ追加すればいい
Google がリンク先を悪意あるものだと判断したときにユーザーを止めるための機能、たとえばマルウェア配布のブロックに近いように見える
まだ自分では試していないが、これが Google Workspace の有料アカウントからエクスポートした文書にも適用されるのか気になる
もう少し好意的に見ると、リンクがリダイレクトの案内を表示し、新しいタブで開くようにしているようで、Google Docs のエディタ内では良い挙動に見える
確かなことは分からないが、その中に追跡も含まれている可能性は高い。クエリパラメータにある不透明な文字列が、ほかに何に使われるというのか?
リンクの書き換えはここに由来するものに見え、エクスポート版だけに追加されたものではないはずだ
エクスポート時に削除されないのは残念だが、チームの誰も気にしていない隅のケースである可能性が高そうだ
また、追跡が入っているなら、その値がどのように、いつ更新されるのかも分からない。たとえば、残存した挙動なのか、エクスポート時点で更新されるのか、同じ文書をエクスポートするときにユーザーごとに固有の追跡番号を受け取るのかも分からない
Google 製品を使っている人が、いまだにプライバシー保護や行動追跡を心配しているのは理解できない
Facebook を使うのと似ている。こうした企業のビジネスはユーザーデータを掘り出すことに基づいているのだから、使わないのが正解だ