MS Paint および Photo がローカルで生成された出力にも GUID で目に見えない水印を追加する

2026/08/25 0:28

MS Paint および Photo がローカルで生成された出力にも GUID で目に見えない水印を追加する

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Microsoft は、デバイス上で AI イメージを生成する方法の根本的な変更を行っており、厳格かつインターネット依存型の検証プロセスを義務付けています。Paint や Photos などのアプリにおいてイメージが確定する前に、システムはサーバーサイドのモデレーション記録にリンクされた不可視のデジタルウォーターマークを埋め込みます。これにより、すべてのローカルで生成されたコンテンツに起源の義務的証拠が付与され、ローカルハードウェアがリモートの監督と直接結び付けられるようになります。以前の方法ではオフラインでの生成が可能でしたが、このアーキテクチャでは常時接続が必要であり、それを欠くと Paint では生成が停止し、Photos では沈黙して失敗するとともにウォーターマークなしのファイルを返します。

技術的な仕組みは、専門化されたモジュールによってピクセルデータを修飾し、C2PA コンテンツクレデンシャルと呼ばれる暗号学的署名を付与することで成り立っています。これらのクレデンシャルは、イメージの一意な識別子をデジタル署名することによりその真正性を保証します。さらに、システムは出力形式を PNG、JPEG、GIF、.paint などが埋め込むのに必要なこのマニフェストデータを保持できるものだけに制限し、任意のマニフェストデータを外部ファイルなしに保存できない BMP ファイルを明示的に除外しています。Microsoft は安全性のためにユーザー識別子を収集しますが、このシフトはデジタルプロヴェナンスがオプションではなくすべての AI 生成ビジュアルに対する必須要件となった新たな業界標準を強化します。ウォーターマーク自体は、画像ブロック全体で各ビットを複数回配置し厳格な完全性チェックを満たすためにコンテンツ適応型アルゴリズムを使用してイメージに符号化され、モデルファイル自体は Copilot+ PC 上で推論を行う前に XOR 符号化されます。

本文

Microsoft Paint と Photos の「目に見えない透かし」調査レポート

TL;DR(まとめ)

  • Microsoft Paint は、ローカルな画像生成とクラウド上の画像生成の両方をサポートしています。
  • Paint と Photos アプリには、ローカルの AI モデルも同梱されています。
  • どちらのアプリも、プロンプト(指示文)を検査する目的でリモートサーバーに送信します。
  • サーバーからは検査済みのプロンプトと連番付きの識別子(GUID)が返されます。
  • この GUID は、ローカルで生成された画像内に「目に見えない透かし」として埋め込まれます。
  • 「透かしを表示/非表示」の設定は、この目に見えない透かしには影響しません。
  • Copilot+ PC では画像生成自体はローカルで行われますが、プロンプトの検査(モデレーション)は引き続きリモートで行われます。
  • Microsoft は Paint が AI 生成画像に C2PA メタデータを付与することを明言しています。
  • **AI 生成画像の保存には、C2PA メタデータを保持できる形式(PNG, JPEG, GIF, .paint)**のみが制限されています。

Microsoft Paint の「不思議な側面」への探求

この調査は、Paint アプリに対する好奇心から始まり、Windows 内の未解明な AI 機能への探求へと発展しました。当初は単純なリモート API 呼び出しだと思われていましたが、Binary Ninja MCPCodexによる分析を通じて、Microsoft が Copilot の一部として Windows にローカルのモデルを実装していることが判明しました。

アプリケーションの場所とモデル

Paint アプリは以下のパスに配置されています(すべて新しいタイプの「Windows アプリ」です):

C:\Program Files\WindowsApps\Microsoft.Paint_11.2605.71.0_x64__8wekyb3d8bbwe\PaintApp\

ここには、

.onnxe
拡張子を持つ以下の4 つの明らかなモデルファイルが存在します:

ファイル名サイズ
seg.onnxe
23.1 MB
inseg_enc.onnxe
28.0 MB
inseg_dec.onnxe
16.5 MB
mager.onnxe
302.4 MB
  • seg.onnxe
    の形式は既知であり、文字列
    Microsoft_2023
    と XOR することで通常の ONNX ファイルになります。
  • 他の 3 つのファイルも同様に解読可能であることが確認されました。
    • 重要: Microsoft はアルゴリズムを変更するのではなく、鍵(キー)のみを変更していたことが発覚しています。

暗号化を解除後、すべてのモデルに対して

onnx.checker.check_model()
が正常に動作します。

モデルノード数入力/出力
seg.onnx
1,094 ノード入力:
input_image
, 出力:
output
inseg_enc.onnx
1,014 ノード出力:
image_embeddings
inseg_dec.onnx
1,133 ノード入力: embeddings, points, masks; 出力: masks
mager.onnx
15,284 ノード入力: image/mask; 出力:
output

目に見える透かしと「目に見えない透かし」の発見

画像生成プロセス中に、生成される画像に小さな Copilot ロゴが埋め込まれていることが確認されました。これに対し、同様に**「目に見えない透かし」**も埋め込んでいるかどうかを調査しました。

コード解析

透かし追加は

Watermarker.dll
内で処理されています。主要なフローは以下の通りです:

  1. 目に見える透かし (
    AddPerceptibleWatermark
    )
    :
    • ユーザーが「はい/いいえ」を回答するか、常に表示する場合に Copilot ロゴを追加します。
  2. 画像生成後の処理 (
    WmkWriteWatermark
    )
    :
    • ローカルでの Stable Diffusion 画像生成後に呼び出されます。
    • もしこの関数が失敗すると、Paint は透かしなしの画像を返すのではなく、生成全体をエラーとして処理し直します
// 透かしエンコーダーサマリー
WmkWriteWatermark(output, guid, 16, width, height, stride, input, format)
  |
  +-- ポインタ、形式、stride、およびペイロード長を検証する
  +-- 幅 >= 192 かつ高さ >= 192 を要求する
  +-- ペイロードを構築する
        `-- 0x4c || GUID || バイト合計チェックサム (合計 18 バイト)
  +-- 18 バイトを 144 つの個別のビットに展開する
  +-- 利用可能な dimension を 8 ピクセルの境界まで切り捨てる
  +-- 適切な画像ブロックをスキャン/選択する
  +-- 各ビットについて少なくとも 3 つの成功した配置を要求する
        |
        `-- 容量が不十分 -> エラー (-8) を返す
  `-- RGB ピクセルを出力バッファーに再構築する
  • ペイロード解析: 入力されるペイロードは常に16 バイトであり、これは GUID です。
    • ペイロード長が 16 バイト未満の場合:エラーコード
      -6
    • ペイロード長が 16 バイトを超える場合:エラーコード
      -5

テスト結果では、262,144 ピクセルのうち193,376 ピクセルが変更されており、これは明確な「目に見えない透かし」の適用を証明しています。


リモートプロンプトモデレーションからの GUID

ローカルで生成された画像にもかかわらず、埋め込まれる透かしの識別子は(GUID)、ネットワークリクエストから取得されていることが判明しました。

コールフロー

Paint がローカル画像モデルを実行する前に、

AIServices.dll
は以下のアドレスにプロンプトとスタイルを送信します:
https://apsaiservices-a0fqcjc6bzbhgdcd.b02.azurefd.net/v1/paint-cocreator/moderate-prompt

リクエスト(送信側):

{
  "prompt": "...",
  "style": "...",
  "lastPromptGenerationId": "..."
}

レスポンス(返却側):

{
  "revisedPrompt": "...",
  "promptGenerationId": "...",
  "watermarkId": "...",
  "containsHumanReference": false
}
  • containsHumanReference
    : サーバーサイドによる「プロンプトに人間の言及が含まれているか」の分類結果。
  • 重要:
    watermarkId
    (GUID) は、このレスポンスから取得され、後にローカル画像に埋め込まれます。

フロー図:

PaintUI.dll
  `-- IPromptModerationService
        `-- PaintAIManager.dll
              `-- AIServices.dll!ModerateAsync(...)
                    |
                    +-- JSON を構築する (prompt, style, lastPromptGenerationId)
                    |
                    +-- HTTPS POST /v1/paint-cocreator/moderate-prompt
                    |
                    `-- AIServices.dll!ParseModerateResponse(response)
                          +-- revisedPrompt
                          +-- promptGenerationId -> GUID として解析する
                          +-- watermarkId        -> GUID として解析する (後で使用)
                          `-- containsHumanReference
                                |
                                `-- PaintUI が WatermarkId を保存する
                                      `-- StableDiffusionHelpers::GenerateAsync(...)
                                            `-- ローカル Stable Diffusion 結果実行
                                                  `-- Paint::AI::AddWatermark(bitmap, winrt::guid)
                                                        `-- WmkWriteWatermark(...)
                                                              `-- 変更された RGB ピクセル

C2PA コンテンツクレデンシャル

Paint はピクセルを変更するだけでなく、保存されたファイルにC2PA コンテンツクレデンシャルを付与します。これは

ProvenanceHelper.dll
provenancesdk.dll
によってサポートされています。

署名プロセスは以下の通りです:

  1. ローカル Stable Diffusion が画像を生成する。
  2. AIServices.dll!SignIngredientOnlineAsync
    でサーバーに送信され、C2PA マニフェストが取得される。
  3. サーバーのレスポンスに含まれる GUID を透かし処理に使用し、ローカルで埋め込みを行う。

保存された画像(PNG)内の C2PA チャンク:

{
  "c2pa.soft-binding": {
    "alg": "com.microsoft.invismark.1",
    "blocks": [
      {
        "scope": "the entire image",
        "value": "83424621-03cb-40e3-9808-a9fae837156d" // watermarkId と一致
      }
    ]
  },
  "c2pa.actions.v2": {
    "actions": [
      {
        "action": "c2pa.watermarked",
        "description": "Content watermarked by Microsoft Responsible AI"
      }
    ]
  }
}
  • 生成元: Microsoft Responsible AI Provenance
  • AI システム: Azure OpenAI ImageGen
  • アルゴリズム: com.microsoft.invismark.1
  • 透かし値: サーバーから発行された
    watermarkId
    と一致。

重要: C2PA はこれを「ソフトバインド」と呼び、ファイルレベルのマニフェストが削除された後も、コンテンツ自体に埋め込まれた値と照合可能であることを保証しています。


なぜ Paint はローカルで透かしを適用するのか?

Paint には大きく分けて2 つの生成パスがあります。

パス 1: Image Creator(クラウド)

  • Azure OpenAI ImageGen を使用し、生成・透かし処理・パッケージングがすべてクラウドで行われます。
  • Paint は完了した画像を単に受け取るだけであり、目に見えない透かしと C2PA マニフェストは既に含まれています。

パス 2: Cocreator(ハイブリッド)

  • Copilot+ PC などで利用可能。NPU がローカルで画像生成を行い、Azure オンラインサービスが安全チェックを行う。
  • プロンプト検査 → リビジョンされたプロンプト取得 → ローカル NPU による画像生成ローカルでの透かし埋め込み

ローカル透かし実装の必要性:

  • クラウドジェネレータは出力前に透かしを追加できるが、ローカルジェネレーター(NPU)はそのような依存関係を持たない。
  • そのため、Paint はローカルで生成されたピクセル自体を変更(透かし追加)する必要があります。

セキュリティ上の懸念点

C2PA マニフェストを保持できない形式(BMP など)は保存できません。これは意図的な設計なのか、それともセキュリティ脆弱性(透かしステップを迂回する API の存在など)かは不明です。


Photos アプリも同じことをしています

Microsoft Photos アプリも

Watermarker.dll
を使用しており、同様のローカル Stable Diffusion 処理を行っています。

  • Photos Image Creator: テキストから画像への変換モデルをローカル実行し、
    promptGenerationId
    を GUID に変換して透かしを追加。
  • Photos Restyle Image: スケッチから画像への変換を行い、同様に透かしを追加。

エラー動作の違い:

  • Paint: 透かし処理が失敗すると生成全体をエラーとし、画像は返さない。
  • Photos: 透かし処理が失敗してもログには記録されますが、生成された画像(透かしなし)をそのまま返り続けます

Microsoft が公開している情報

Microsoft は Image Creator サポートページで以下のように明言しています:

  • 「画像生成を防ぐためにコンテンツフィルタリングを適用しています。」
  • 「C2PA マニフェストを含み、ユーザーがそれがAI 生成の画像であることを認識できるように助けます。」

しかし、以下の点は公式ドキュメントには記載されていません:

  1. C2PA マニフェストに目に見えない透かし用の GUID が含まれている事実。
  2. ローカル生成パスにおいて、透かし GUID をリモートプロンプトモデレーションから受け取る仕組み。
  3. プロンプト固有の識別子をユーザーに明示的に提供していない点。

結論

この調査により、Paint と Photos の「目に見えない透かし」動作が文書化されました。

  • ローカルとクラウドの役割分担: クラウドでは完了済みの透かし済み画像を返しますが、ローカル生成(Cocreator)ではサーバー発行の識別子を埋め込む必要があります。どちらも完全なオフライン動作ではなく、プロンプト検査や署名プロセスはオンラインで行われます。
  • EU AI 法との関連: 2026 年 8 月 2 日以降、AI 生成コンテンツには検出可能なマークを付与する必要があります(ただし、プロンプト固有の GUID 自体は必須ではありません)。
  • プライバシーと透明性: サーバー発行の透かし GUID や、それがプロンプトモデレーションとどう関連するかについては、Microsoft は明言していません。これらにはプライバシーと知る権利の問題が存在します。

Paint または Photos を修正して両方のプロセスを迂回することも可能ですが、それは新しい機能を提供するものではなく、既存の Stable Diffusion エンジンを直接使うのと本質的に変わりません。

同じ日のほかのニュース

一覧に戻る →

2026/08/25 2:05

ゲームとして再現されたサンフランシスコ市全体

## Japanese Translation: 画面には「THE GAMECITY ONLINE」と表示され、サンフランシスコに設定されたバーチャルシミュレーションが展開されています(ホスト:Apple Inc.(Copyright © 2026))。インタフェースには「NEIGHBORHOOD READY100%」「LOADING」「IDLECENTER」などのステータスインジケーターが表示され、初期の L RANGE メトリックは 470m です。開始するには画面のどこでもクリックすることでテレポートし、フッターテキスト「CLICK TO TELEPORT.」が指示します。移動は WASD キーで歩行、マウス操作で視点を調整、Space でジャンプ、Shift でダッシュ、↑↓ でズームを行います。C キーでカメラビューを調整し、H を押すとグライダーモードが活性化されます。車両輸送は「VVEHICLE」オプションにより有効になります。この中央ハブは足元の移動と車両オプションを統合しており、Apple の 2026 年デジタル基準に基づき、滑らかな都市探検のための標準化された入力方法を提供します。

2026/08/24 22:05

ヨーロッパが創業者とマイクロ企業家を殺している理由

## Japanese Translation: 2026 年 8 月 12 日より施行予定の新しい欧州連合(EU)包装及び包装廃棄物規則(PPWR)は、欧州連合全体での包装に関するルールを調和させることを目的とするが、マイクロ・アントレプレナーの置換化をもたらすリスクがある。拡大製造者責任(EPR)の下で、事業主は包装の収集及びリサイクルを資金調達し、廃棄物が生じる各加盟国において別途登録しなければならない。例えば、4 ヵ国の EU 諸国に対し 25 ユーロのセンサーボードの小口販売を行うギリシャのエンジニアの場合、登録費及び代理人報酬のみで年間約 1,150 ユーロのコンプライアンスコストに直面する可能性がある。Lectronz のデータによると、過去 1 年間で登録された販売者の半数は 10 件の注文未満しか受け取っておらず、これは低ボリュームメーカーへの不均衡な影響を浮き彫りにしている。厳格な執行は、マイクロ・セルラーを EU 市場から撤退させ、関税にもかかわらず非 EU 市場へ売上をシフトさせることを強いる可能性がある。欧州委員会が、指定された国ごとに公式代表者を選任する義務を 2035 年までの一時停止を検討したが、この措置はまだ採択されていない。この規制は芸術家、職人、地場食料生産者、ハードウェアメーカー、ならびに EU の買主に対する販売を行うあらゆる事業に影響を与える。提案されている解決策には、EU 全体の de minimis 閾値の設定、VAT に類似した EU EPR ワンストップショップ(OSS)の創設、ならびに市場プレイスがマイクロ・エンタープライズを集団的に単一の製造者として代表することを許可するものが含まれる。実施においては、 cumbersome なウェブフォームに頼らずコンプライアンスを自動化するために現代のオープン RESTful API とオープンソースソフトウェアを活用することが有益である。Lectronz は現在 5% の手数料を徴収しており、初めの 5 件の販売については免除されており、2026 年を通じて新規の販売者が参入している。具体的アクションのためのリソースには、https://www.change.org/p/stop-destroying-eu-micro-businesses-immediate-moratorium-on-cross-border-epr-fees のオンライン署名運動と、https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives/15352-Packaging-and-packaging-waste-rules-on-national-registers-of-producers_en の欧州委員会公式フィードバックページが含まれる。即時の改革または臨時の手数料モラトリアムなしでは、多くのクリエイティブかつ地場企業が自らの欧州顧客基盤全体を喪失するリスクに直面している。 ## Text to translate: The new EU Packaging and Packaging Waste Regulation (PPWR), effective from 12 August 2026, aims to harmonize packaging rules across the European Union but risks displacing micro-entrepreneurs. Under Extended Producer Responsibility (EPR), businesses must finance packaging collection and recycling and register separately in every Member State where waste is generated. For example, a Greek engineer selling small batches of €25 sensor boards to four EU countries could face annual compliance costs of approximately €1,150 just for registration and representative fees. Data from Lectronz shows that half of its registered sellers received fewer than 10 orders in the past year, underscoring the disproportionate impact on low-volume makers. Strict enforcement could compel micro-sellers to exit the EU market or shift sales to non-EU markets despite tariffs. Although the European Commission has proposed suspending the requirement to appoint an authorized representative in every destination country until 2035, this measure remains unadopted. The regulation affects a wide range of actors—including artists, craftspeople, local food producers, hardware makers, and any business selling to EU buyers. Proposed remedies include establishing an EU-wide de minimis threshold, creating an EU EPR One Stop Shop (OSS) similar to VAT, and permitting marketplaces to represent micro-enterprises collectively as a single producer. Implementation would benefit from modern open RESTful APIs and open-source software to automate compliance rather than relying on cumbersome web forms; Lectronz currently charges a 5% fee with a waiver on the first five sales and has seen new sellers join in 2026. Actionable resources include an online petition at https://www.change.org/p/stop-destroying-eu-micro-businesses-immediate-moratorium-on-cross-border-epr-fees and the European Commission's public feedback page at https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives/15352-Packaging-and-packaging-waste-rules-on-national-registers-of-producers_en. Without immediate reform or a temporary fee moratorium, many creative and local businesses risk losing their entire European customer base.

2026/08/25 0:48

IPFS 維持管理チームの活動終了へ

## Japanese Translation: Protocol Labs は、2 年以上にわたる支援の後、Shipyard の資金供与を更新しないと発表しました。すべての IPFS 関連のエンジニアリング、保守、およびインフラストラクチャ運用は 2026 年 9 月 30 日に終了します。この決定により、ipfs.io、dweb.link、check.ipfs.network、ブートストラップノード、および「Wikipedia-on-IPFS」のような協働クラスタといった、重要な日常使用ツールへの直接的な財政支援が停止されます。これらの公衆向けプラットフォームの将来については未定であり、チームは期限まで移行業務を支援し続けます。 この動きにより、go-libp2p および js-libp2p などのコアライブラリに対する上流側の貢献も停止し、IPFS の仕様、規格、およびエコシステムの調整に関する作業も終了します。さらに、Kubo、Helia、Boxo、Rainbow、IPFS Desktop、IPFS Companion、Someguy、Service Worker Gateway、IPFS Check といったプロジェクトのために専任のメンテナンス担当者も撤去されます。 Shipyard の在任期間には、以下のような大きな技術的成 tựuが達成されました:inbrowser.link を通じて検証可能な Web サイトを提供すること;IPFS ゲートウェイを再アーキテクチャ化し、約 80% のコスト削減ながら約 3 倍のトラフィックを処理できるようにすること;HTTP ネイティブなアプローチを推進し、デプロイと運用コストを簡素化すること;大きなネイティブ SHA-256 オブジェクトをサポートすること;Tor/onion サービスを用いた回復力のあるコンテンツルーティングおよび匿名ホスティングの計画を立てることなどです。 このことで、より広いコミュニティとパートナー企業は、Shipyard の資金源に依存していた不可欠な実装を維持するか、またはインフラストラクチャを再構築する新たな方法を緊急に見つける必要があります。この発表は、IPFS に関する思い出やアイデアについてのコミュニティからの入力を受け入れるために Google Form を通じて呼びかけています。