Ghost Font - 人は読めるがAIには読みにくいフォント
(mixfont.com)- Ghost Font は、背景と同じ点の動きで文字を作り、人は映像の中でメッセージを認識できる一方、個々のフレームを分析するAIには容易に解読されにくくする視覚コミュニケーションの実験
- 従来のTTFフォントの代わりに 動き・映像・ノイズ・おとりメッセージ を組み合わせており、映像を止めたり画面をキャプチャしたりすると、点が背景に溶け込んでメッセージが現れない
- Claude Fable と GPT Sol 5.6 Ultra は、正確な解読手法をプロンプトで教えられるまで苦戦し、ChatGPT 5.5 Pro は 19分間分析 した末に存在しないメッセージを生成した
- ローカルでコードを実行する専用エージェントは点の動きを分析できるため、各映像に おとりメッセージ を追加しているが、実際の機密情報には暗号化やパスワードを使うべき
- CAPTCHA や AI の視覚認識ベンチマークへの活用可能性はあるものの、人間にとっても読みにくく、動画ネイティブなモデルが登場すれば解読される可能性がある。映像生成コードはオープンソースとして公開予定
動きで作る文字
- Ghost Font は、メッセージを静的な文字の形ではなく点の動きとして記録する
- 動き、映像、ノイズ、おとりを組み合わせて、人が読めるメッセージを共有する
- 一般的な TTF フォントファイルではなく、AI が簡単には理解できない形式で文字を視覚的に伝えられるかを探る実験
- 通常のテキストほど鮮明ではないものの、人は動く文字をすぐに識別できる一方で、主要な AI モデルは簡単には解読できない
- 提供されているプレイグラウンドは、概念を試すための プロトタイプ
- いくつかの単語を入力すると、点の動きで文字が現れる
- 入力したメッセージをリアルタイムでプレビューしたり、映像としてダウンロードして共有し、自分で試したりできる
- すべての処理はローカルで行われ、データがサーバーへ送信または共有されることはない
静止画では読めない構造
- すべての文字は背景とまったく同じに見える点で構成され、メッセージは点の 時間に沿った動き の中でのみ現れる
- 映像を止めると静的な点同士が混ざるため、単一フレームだけではどんなメッセージが含まれているのか把握しにくい
- ページをスクリーンショットしたり、映像から個別の画像を抽出したりしても、読めるメッセージ情報は現れない
ZXX から Ghost Font へ
- デザイナーの Sang Mun は 2013 年、人は読めるが光学文字認識(OCR)ソフトウェアには読みにくいフォント ZXX を公開した
- 4 種類のフォントで構成され、文字をノイズに偽装したり、線で消したり、偽の表示の下に隠したりしていた
- 当時は監視を避けられるフォントと評価されたが、現代の AI エージェントは ZXX でレンダリングされた文字を簡単に読める
- ZXX の画像を ChatGPT 5.5 の Instant モードに入力すると、たった 1 回のプロンプトで単語や細かな一部の情報まで認識した
- 一方、Ghost Font の単一画面には読めない静的な点しか見えないため、同じような画像分析ではメッセージを得にくい
- ChatGPT 5.5 Pro は 19分間分析 した末に、実際には存在しないメッセージを生成した
コードベース分析とおとりメッセージ
- 映像を使うという事実だけで完全な防御になるわけではない
- オンラインのモデル環境では、個々のフレームからメッセージを見つけられないことがある
- ローカルでコードを実行できる専用エージェントは、点の動きを分析して実際のメッセージを解読できる
- Ghost Font は分析を難しくするため、生成するすべての映像に おとりメッセージ を追加している
- 隠れたメッセージを探索するエージェントが先におとりを見つけると、それを本物のメッセージだと判断する可能性がある
- この層があるため、Fable や GPT Sol 5.6 Ultra のような強力な推論モデルでも解読に苦戦する
- Claude Fable と GPT Sol 5.6 Ultra はコードを使えたものの、どの手法を探すべきかを正確にプロンプトで伝えられるまでは、動くメッセージの解読が難しかった
セキュリティ手段としての限界
- メッセージを本当に隠す必要があるなら、Ghost Font ではなく 暗号化 や特定のキーを使うべき
- 人しか知らないパスワードで開けるメッセージは、AI もパスワードなしでは読めない
- Ghost Font の目的は完全なセキュリティではなく、共有可能なファイルに、人は見えるが AI には簡単には読めない視覚メッセージを含められるかを試すこと
- AI の知覚能力の限界を探ると同時に、人間固有の要素を保とうとする試みでもある
- AI が フォント生成 にも使われる中で、人間が独自の創造的な声を保ち続けてほしいと期待している
CAPTCHA と AI ベンチマークの可能性
- 動く文字は CAPTCHA に応用できる可能性がある
- 多くの CAPTCHA を AI が簡単に解いてしまう状況で、映像内の動きは自動化ボットの解読を難しくしつつ、人間には比較的読みやすい課題になりうる
- AI の視覚知覚の進歩を測るベンチマークとして活用する案もある
- 現在のマルチモーダルモデルは主に画像ベースで、動画を受け取っても一般にはフレームに分割して各画像を分析する
- 将来、動画ネイティブなモデルが登場すれば、動きを直接処理して Ghost Font のテキストを読めるようになると見込まれる
人と AI の間で縮まる差
- Ghost Font は AI にとって読みにくいが、人間にとってもかなり読みにくい
- AI の視覚知覚能力が急速に向上するにつれて、人と AI の認識の差は縮まり続けている
- 次の段階として、映像生成コードをオープンソースプロジェクトとして公開する計画
- より大きな画面サイズに対応し、長い文字列も扱えるように拡張する予定
1件のコメント
Hacker Newsのコメント
この方式のCAPTCHAはすでに存在しており、簡単に回避できる。時間軸平均化をまねて連続するフレーム4枚ほどの平均を取れば文字が浮かび上がり、基本的な大規模言語モデルでも読める
ほかの多くのAI防御手法にも通用する方法なので、スクレイパーをほとんど遅らせられない可能性が高い
Ghost Fontに一般的な動画圧縮手法を適用したうえで、圧縮信号から文字の輪郭を復元し、光学文字認識(OCR)で解析すればよさそう。新しいCAPTCHA手法にはなり得るが、攻防が始まれば既存方式より根本的に難しいわけではないだろう
https://fingswotidun.com/images/GhostFont_2_samples.jpg
https://fingswotidun.com/images/GhostFont_b_2_samples.jpg
AIなら下手にスクリーンショットボタンを押す代わりに連続フレームを使い、人間が読むのにかかる時間より短い動画からでも十分なサンプルを集めてテキストを鮮明に復元できる
最初は「Written In Ghost Text」が読むべき文なのだと思い、かなり後になっておとり文句だと気づいた。実際の文はMagic Eye 3D画像くらい読みにくく、モバイル画面で見ると頭痛がするほどだった
研究アイデアは興味深いが、AIモデルがいつ解読法を見つけるのか気になるし、プロンプトを少し補うだけでも可能そうだ
GPT-5.6に録画動画を渡したところ、問題なくテキストを読んだ。オプティカルフローと垂直変位マップで動画の動きを推定し、それを高コントラストのモーションマップに合成していた。別途手法を指示せず、何と書いてあるかだけを尋ねた
巧妙だが、アルゴリズムで破れないわけではない。連続する2フレームのうち一方のインデックスをずらしながら差分が最小になる位置を探し、その後、整列したフレーム同士を引き算して光学文字認識を適用すればよい
動きが線形、または一方向のときに特にうまく機能し、垂直移動だけを調べる20行のコードで1番目のフレームから7番目のフレームを引いた結果は次のとおり: https://imgur.com/a/only-human-can-read-this-vfDe6ZA
基本テキストである「GHOST FONT」のスクリーンショットをChatGPT 5.6 Solに貼り付けて読むよう頼んだところ、しばらく処理した後に「WHAT HAPPENS IN VEGAS / STAYS IN VEGAS」と答えた
現世代の最上位モデルが動画をフレームごとに処理する点を利用しており、各フレームにはモデルが答えを見つけたと思い込んで停止してしまう隠れたおとり文句もある。フレーム間の相関を解析すれば手法を見抜けるが、単一フレームにはノイズとおとりしか存在しない
人間にも読むのが難しいなら、重要になればAIにも読めるよう学習させられる。だとすると実用性は何なのか疑問だ
逆にAIだけが読めるフォントも見てみたい
この手法は堅牢だが、最終的な解決策は残念ながら結局**証明(attestation)**になりそうだ
厳密に言えば、静止しているべきフォントではなく動画効果だ。本を閉じてから写真を撮り、カメラがそのフォントを読めないと言っているようなもの
単一フレームと1秒の動画をGPT 5.6 Sol(High)に入れてみると、フレームは9分30秒で「WRITTEN IN GHOST FONT」と解読した。デモでは「GHOST FONT」だけが見えるが、抽出された画像には実際に「Ghost Font」の形が現れていた
動画では3分後、動きで定義された効果だと見抜き、QuickTimeの実行を求め、「読める静的OCRレイヤーはなく、オプティカルフロー場から文字形状を抽出中」と述べた。4分で文字の形をした動きの画像を得て、さらに9分分析した末、合計13分36秒後に「GHOST FONT」を返した
したがってフォントでもなく、すべての人が読めるわけでもなく、AIが読めないわけでもない。処理途中の画像は https://imgur.com/a/SHlGu4O で見られる