AI画像の透かしに書かれていたのは、生成ごとのシリアルナンバーだった

スポンサーリンク

Windowsに標準で入っている「ペイント」と「フォト」には、AIで画像を生成する機能があります。この機能で作られた画像に、目には見えない透かしが埋め込まれていることを、ソフトウェアの中身を解析して確かめた報告が公開されました。

解析したのは、リバースエンジニアリング(プログラムを分解して仕組みを調べる手法)用のツール「Binary Ninja」を開発するVector 35のソフトウェア開発者、Xusheng Li氏です。8月下旬に自身の技術ブログで解析結果を公開し、25日には英メディアのThe Registerが記事として取り上げました。

AIが作った画像に見えない印を入れる技術そのものは、いまや珍しくありません。GoogleのSynthIDをはじめ、各社が同じ方向に動いています。今回の報告で注目を集めたのは、印があること自体ではなく、その印に何が書かれているか、でした。

AI生成コンテンツに印を付ける流れ

背景から整理します。AIで作られた画像や文章が本物と見分けにくくなるにつれ、「AI製のコンテンツには、機械が読み取れる印を付けるべきだ」という考え方が国際的に広がってきました。EUではAI法の透明性義務が2026年8月2日から適用され、AI生成コンテンツであることを検出可能な形で示すことが求められています。The Registerによれば、欧州の透明性ルールに沿って運用することに、少なくとも190のAIプロバイダーが合意しています。

各社の動きも続いています。この8月には、対話AI「Claude」を提供するAnthropicが、出力する文章に単語の選び方を利用した統計的な透かしを入れることを明らかにしました。Microsoftも、コンテンツの来歴(いつ、何によって作られたか)を記録する業界規格「C2PA」の共同設立メンバーで、ペイントとフォトのAI画像にこの規格の情報を付けること自体は、以前からサポートページで告知しています。

なお、ペイントには画像の右下に小さなCopilotロゴを入れる「見える透かし」の設定もあります。こちらは「常に入れる・入れない・毎回確認」を利用者が選べます。今回の報告が扱うのはそれとは別の、設定では制御できない不可視の透かしです。

ここまでは、偽画像対策として多くの人が賛成する話でしょう。AI製かどうかが機械的に分かるようにする印——そのはずでした。

透かしの中身はサーバー発行の識別番号

Li氏がペイントの内部を追いかけて突き止めたのは、透かしとして埋め込まれているのが「GUID」と呼ばれる16バイトの識別番号だ、ということでした。GUIDは世界中で重複しないように作られる番号で、いわば生成のたびに発行されるシリアルナンバーです。

仕組みはこうなっています。ペイントのAI画像生成は、対応するパソコン(Copilot+ PC)では、パソコンに載っているAI用チップで実行されます。つまり画像そのものは手元の機械の中で作られる。ところが、入力したプロンプト(生成の指示文)は、不適切な内容でないかを確認する「モデレーション」のために、Microsoftのサーバーへ送られます。サーバーは確認を済ませると識別番号を発行して返し、ペイントはその番号を、できあがった画像のピクセルの中に人の目では分からない形で符号化します。

Li氏の検証では、512×512ピクセルの画像に透かしを入れたところ、約26万個のピクセルのうち19万個あまりの値が変化していました。それでも見た目はほとんど変わりません。画像全体に薄く広く、番号が織り込まれるわけです。しかもペイントは、この埋め込みに失敗すると、画像を返さずに生成そのものをエラーとして扱います。透かしは省略できるおまけではなく、必須の工程として組み込まれているのです。同じ仕組みのファイルはフォトにも入っていて、こちらも生成画像に番号を埋め込みます(ただしフォトは、埋め込みに失敗しても透かしなしのまま画像を返すという違いがあります)。

そして、報告の核心はこの先にあります。ペイントは次の生成リクエストを送るとき、直前の生成に発行された番号を「lastPromptGenerationId」という項目でサーバーに一緒に送っていました。つまり、同じ利用者による連続した生成を、サーバー側で明示的につなげられる設計になっているのです。さらに、画像ファイルに付くC2PAの来歴情報の中にも、ピクセルに埋め込まれたのと同じ番号が、Microsoftの署名付きで記録されていました。ファイルから来歴情報を削っても、ピクセル側の透かしから同じ番号を読み出して照合できる、二重の仕組みです。

整理すると、この透かしは「AIが作りました」という全員共通のラベルではなく、生成の一回一回を区別できる番号です。プロンプトはサーバーを経由し、番号はサーバーが発行している。もしサーバー側にプロンプトと送信者の記録が残っていれば、理屈の上では、出回っている画像の透かしから「どの生成だったのか」をたどれる構図になります。

開示をめぐる論点

Li氏が問題にしているのは、透かしの存在そのものではなく、説明のされ方です。Microsoftはサポートページで、プロンプトの内容確認を行うことや、AI画像にC2PAの来歴情報を付けることを開示しています。しかし、その来歴情報の中にプロンプトと結びついた識別番号が入っていることや、手元で生成した画像の番号がサーバーから発行されていることまでは、説明が見当たらない——というのがLi氏の指摘です。

似た構図には前例があります。レーザープリンターの多くは、印刷物に機種などを示す微細な点(追跡ドット)を埋め込んでいて、この事実が広く知られたとき、プライバシー擁護団体から強い懸念の声が上がりました。「機械が出力物に、持ち主の知らない識別情報を埋め込む」という点で、今回の話はその再来のような形をしています。

解釈上の留意点

この件を受け止めるうえで、押さえておきたい点がいくつかあります。

まず、The RegisterはMicrosoftにコメントを求めましたが、掲載時点で回答は得られていません。今回の内容は、解析した側からの一方向の報告です。また、この識別番号が実際に誰かの特定に使われた事例は示されていません。「サーバー側で紐づけられる設計になっている」という構造上の指摘であって、「Microsoftが利用者を追跡している」ことが実証されたわけではありません。この距離感は大事なところです。

情報源が個人の技術ブログである点にも注意が要ります。丁寧な解析記事ではあるものの、査読を経た論文ではなく、第三者による追試も今のところ報じられていません。

そして、透かしを入れること自体を悪者にするのも筋が違います。前述のとおり、AI生成コンテンツへのマーキングはEUのルールが求める方向であり、Microsoftの実装はその流れに沿ったものです。Li氏自身も、ペイントを改造して透かしを避けることは可能に見えるとしつつ、「誰でも透かしなしの画像生成ツールを直接動かせる以上、それで新しい能力が手に入るわけではない」と冷静に書いています。The Registerは、識別番号の埋め込みが気になる人の選択肢として、公開されたモデルを自分の機器で動かす方法を挙げています。

AI製のコンテンツに印を付けること自体は、もう既定の流れといってよさそうです。今回の報告が示したのは、これからの論点が「印を付けるかどうか」ではなく、「印に何を書き込み、それを利用者にどう説明するか」に移りつつある、ということなのだと思います。

出典

Microsoft Paint and Photos Embed Server-Issued GUIDs as Invisible Watermarks in Locally-Generated Images(Xusheng Li氏の技術ブログ)

Microsoft AI watermarks in Paint and Photos are linked to user IDs, researcher finds(The Register、2026年8月25日)

コメント

タイトルとURLをコピーしました