382ポイントが暴いた光学偽装の脆弱性
2026年9月、ブラウザ上だけで動作する小型のWebツール「Bastardica」がHacker Newsで瞬く間に注目を集め、382ポイントを獲得してその日の第2位に浮上した。複雑な分散システムや巨大なバックエンドの構築を一切必要とせず、ごく平易なWeb画面から2種類の代表的な本文用フォントを解体・再結合させる機能を提供する。読者は日頃、画面上で何万もの文字を目で追っているが、個々のグリフの幾何学的形状を凝視することはまずない。このツールは、まさに現代人が抱える認知と視覚の死角を的確に突いた。
サイトのワークフローは極めて洗練されている。ベースとなる基本フォントを選び、混ぜ合わせるフォントを指定して合成ルールを設定するだけで、視覚を錯乱させるフォントファイルがブラウザ上でリアルタイムにプレビュー・生成される。TTF、OTF、WOFF2形式の書き出しにも対応しており、ネット上の他愛ない悪ふざけが工業化されたパイプラインへと昇華されている。
インターフェース開発に携わるエンジニアにとって、視覚的な誤認を引き起こす際、テキスト本文そのものを改ざんするよりもフォントの内部マッピングを変更するほうが圧倒的に低コストかつ検知されにくいことは常識だ。テキストの内容を変更すればコンテンツモデレーションやDLP(情報漏洩防止)フィルターに即座に引っかかるが、文字の外観であるフォントの皮膜をすり替えてしまえば、機械による検知は極めて困難となり、人間の読者もほとんど違和感を抱かない。スクリーン上の文字が放つ権威や信頼性は、文字デザインそのものの完成度ではなく、「疑わずに読み流す」という人間の無意識の慣習に支えられている。
完全ローカル実行が消し去る偽造コストと追跡の痕跡
Bastardicaが採用した技術構成は、クラウド側での追跡やフォレンジック監査の可能性を根底から封じ込めている。従来のサーバーサイドレンダリングを完全に排除し、Pyodideを通じてWebAssembly化された完全なPython実行環境をブラウザ内部に組み込んだ。本格的なフォント処理ライブラリ「fontTools」と連携し、グリフの構文解析、並べ替えルールの適用、バイナリフォントの再構築に至る全工程が、ローカルメモリの中だけで静かに完結する。サーバー側の計算資源を一切消費しないこのアーキテクチャは、運用コストをゼロにする一方で、防御が極めて難しい新たな脅威モデルをもたらした。
完全なクライアントサイド実行は、生成されたフォントファイルが外部ネットワークを一切通過しないことを意味する。サーバーログは存在せず、外部APIへの通信記録も一切残らない。欺瞞用のフォントを生成する行為は、インフラの観点から完全に不可視化されている。パラメータを調整してから実用的なフォントファイルをダウンロードするまでの所要時間は、わずか数秒にまで短縮された。
従来、フォントファイルの解析や改変には、GlyphsやFontForgeといった専門ソフトウェアと高度なタイポグラフィの専門知識が不可欠だった。しかし今や、その参入障壁は単一のWebスクリプトによって完全に平坦化された。ブラウザのリンクを開くだけで、誰もが痕跡を残さず視覚的な錯乱を引き起こせる。低レイヤーのフォント操作が静的なWebページにパッケージ化された瞬間、技術的摩擦に依存してきた従来の安全神話は崩壊を始める。
7年前のネットジョークから生まれた6つの標準プリセット
このプロジェクトの起源は、2019年にTumblrユーザーのommanyteが投稿した他愛ない冗談にまで遡る。何気なく呟かれたそのアイデアはスクリーンショットとして記録され、今なおプロジェクトのREADMEの冒頭に掲げられている。開発者のweiweihuanghuangがこのアイデアに着目し、AGPLv3ライセンスのオープンソースプロジェクト「Times New Bastard」として実装した。
図:2019年のTumblr投稿のスクリーンショット。アイデアの原点。出典:Tumblr、プロジェクトREADMEより
原版プロジェクトの実装ロジックは極めて明快だった。もっとも伝統的なセリフ体であるTimes New Romanをベースに、7文字ごとに違和感のあるサンセリフ体のグリフを強制的に紛れ込ませる。オープンソースのNimbus Roman No. 9 LとNimbus Sansを基盤リソースとして活用し、不規則な幾何学的骨格の段差によって長文読書のリズムを容赦なく寸断した。
図:Times New Bastardの公式フォント見本。出典:GitHubリポジトリ Times-New-Bastard、作者 weiweihuanghuang
Bastardicaはこの悪ふざけを一歩推し進め、実用性の高い6つのプリセットテンプレートを標準搭載した。代表格である「SNEAKY BASTARD」は、Times New Romanの7文字ごとにArialを混入させ、基本のエックスハイトに合わせてサイズを90%に縮小調整している。この絶妙なプロポーションのズレは、読者に言い知れぬ違和感を抱かせながらも、具体的にどこがおかしいのかを特定させない。
残る5つのプリセットも同様に高い視覚的破壊力を備えている。「IMPACTER」は極太のImpactフォントの偶数グリフをさらに垂直方向に引き伸ばし、「CARTOON PAPYRUS」はジッター値を付与して安っぽいアニメ調の雰囲気を演出する。「NERVOUS SANS」はArialを5層重ねて擬似ランダムな位置ずれを生み出し、「ROYAL RANSOM NOTE」は6種類のまったく異なる書体をランダムに混在させて切り貼り脅迫状の風情を再現する。さらに「TEMU SANS」は、格安電子機器のパッケージに見られる雑然とした文字デザインを忠実に再現している。
図:Bastardicaサイトに掲載されたミーム画像。出典:bastardica.mitpit.com
55件のコメントが突いたマルチモーダルLLMの死角
開発者コミュニティの反応は、単なるデザインのいたずらを超えて、より深刻なエンジニアリング上の現実に及んだ。Hacker Newsに寄せられた55件のコメントの中で、実務者たちは現実的な攻撃手法や応用シナリオについて活発な議論を交わした。ある開発者は、PapyrusのエックスハイトとベースラインをComic Sansに光学的に完全に一致させ、知覚困難な違和感で同僚を困惑させた実体験を明かした。このような巧妙な改ざんが通常の業務文書に紛れ込んだ場合、従来の校正プロセスで検知することは不可能に近い。
さらに追跡困難な潜伏戦術も提案された。標準のHelveticaを取り込み、2〜3文字おきに骨格が酷似したArialと密かに差し替えるという手法だ。数百文字程度の文章であれば肉眼で見分けることは不可能だが、画面上の行送りや文字間隔に特有の歪みが生じるため、内部告発文書の漏洩元を特定するための不可視のデジタル透かし(カナリア)として機能させることができる。
最も技術的な深みを見せたのは、コンテンツ検閲とマシンビジョンへの対抗に関する議論だった。OpenTypeのリガチャ(合字)機能を活用し、特定の機微な単語が入力された際に自動でモザイク処理や塗りつぶしを行う「自己検閲フォント」の実装が提示された。さらに、動的に生成されるフォントを次世代CAPTCHAとして応用する構想も語られた。文字コードとグリフの対応関係を実行時にランダム化してしまえば、マルチモーダル大規模言語モデル(LLM)の画像認識・OCR能力は完全に無力化される。
安価な欺瞞が突き崩すスクリーンの視覚的信頼
ネット上のジョークから実戦レベルの攻撃ツールへ、Bastardicaはその距離をオープンソースリポジトリと静的なWebページだけで飛び越えてみせた。視覚の常識を破壊するコストが極限まで低下したとき、私たちがスクリーンの文字に対して抱いてきた無条件の信頼は根底から揺らぎ始める。整然としたタイポグラフィに依存してきた安全意識は、自らの脆弱性を露呈した。
これまで人間は、組版の均一性や精密さを情報の信頼性を測る基準としてきた。端正なタイポグラフィで組まれた公的文書や報道記事、ビジネスレターは、一目見ただけで権威と正当性を伝えてきた。しかし、数十年かけて培われたその視覚的フィルターは、WebAssemblyで動く数行のPythonスクリプトの前では何の防壁にもならない。誰もがわずか数秒で、プロフェッショナルに見えながら視覚的罠を仕込んだフォントを捏造できるようになった。
フォントとは、私たちがディスプレイ上で無条件に信じ切っていた最後の防衛線だった。Bastardicaはわずか数千行のコードでその欺瞞を白日の下に晒した。視覚の権威は文字デザインそのものの品質から切り離され、「疑うことを怠る」という人間の認知の惰性にのみ依拠している。その信頼の皮膜が剥がれ落ちたとき、スクリーンの世界から「百聞は一見に如かず」という前提は失われる。
参考リンク:
- Hacker News ディスカッション (item?id=49823738)
- Times-New-Bastard GitHub リポジトリ
- Bastardica プロジェクトホームページ