Microsoft Paint Sisipkan GUID Tak Kasatmata di Setiap Gambar AI

Xusheng Li, pengembang perangkat lunak di Vector 35, mempublikasikan analisis reverse engineering pada 20 Agustus yang menyimpulkan bahwa aplikasi bawaan Windows, Paint dan Photos, menyisipkan GUID 16-byte dari server Microsoft ke dalam piksel setiap gambar yang dihasilkan AI, membentuk watermark yang tidak terlihat mata telanjang. Temuan ini baru menyebar di kalangan developer setelah The Register menerbitkan laporan lanjutan pada 25 Agustus.

Menurut pembongkaran Li, prosesnya dimulai sejak prompt meninggalkan perangkat. Saat pengguna mengetik deskripsi di Cocreator milik Paint, aplikasi lebih dulu mengirim prompt tersebut ke endpoint Azure Front Door milik Microsoft untuk dimoderasi. Server mengembalikan tiga hal: prompt yang sudah direvisi, sebuah promptGenerationId, dan sebuah nilai bernama watermarkId. watermarkId inilah GUID yang kemudian dituliskan ke dalam piksel.

Bagaimana Watermark Disisipkan

Komponen yang bertugas melakukan pengkodean disebut Watermarker.dll, berukuran 1,67 MB, berpasangan dengan file model terenkripsi berukuran 302,4 MB bernama mager.onnxe. GUID 16-byte diberi penanda 0x4c di depan dan checksum di belakang, sehingga totalnya menjadi 18 byte yang terurai menjadi 144 bit. Setiap bit membutuhkan blok piksel minimal 8×8 untuk menampungnya, sehingga gambar terkecil yang bisa diberi watermark berukuran 192×192.

Biayanya tidak ringan. Li menghitung sebuah gambar 512×512 dan menemukan 193.000 dari 262.000 pikselnya telah diubah — sekitar 74%. Tekniknya adalah algoritme mirip SVD berbasis blok yang adaptif terhadap konten; perubahannya tidak terlihat mata, tapi memang menulis ulang sebagian besar gambar.

GUID yang sama juga dituliskan ke metadata C2PA Content Credentials dalam bentuk soft-binding, dengan pengenal algoritme com.microsoft.invismark.1 yang ditandatangani Microsoft. Ada satu salinan di piksel dan satu di metadata, saling mencadangkan satu sama lain — hapus metadata C2PA-nya, watermark di piksel tetap ada.

Format yang didukung adalah PNG, JPEG, GIF, dan format .paint milik Paint sendiri. BMP dikecualikan — menurut penilaian Li, karena BMP tidak bisa menampung manifest C2PA secara utuh.

Sikap Kedua Aplikasi Ini Berbeda

Paint dan Photos menangani kegagalan watermark dengan cara yang sangat berbeda, dan perbedaan ini cukup mengungkapkan banyak hal:

  • Paint: jika watermark gagal disisipkan, seluruh proses generate dianggap gagal dan gambar sama sekali tidak dikembalikan ke pengguna.
  • Photos: mencatat log error, lalu tetap menyerahkan gambar tanpa watermark.

Fitur Image Creator dan Restyle Image di Photos sama-sama memakai Watermarker.dll yang sama. Perilaku Paint yang "lebih baik tidak menghasilkan gambar daripada tanpa watermark" menunjukkan bahwa dalam logika produk Microsoft, watermark adalah bagian wajib dari alur generate, bukan tambahan opsional setelahnya.

Li juga memperhatikan satu detail: Paint mengirim promptGenerationId dari proses sebelumnya sebagai lastPromptGenerationId bersama permintaan moderasi berikutnya. Artinya, beberapa proses generate yang berurutan secara eksplisit dirangkai menjadi satu rantai di sisi server.

Soal Koneksi ke Internet

Mekanisme ini paling mudah disalahpahami pada Copilot+ PC. Perangkat jenis ini punya NPU lokal, dan proses generate gambar memang berjalan di perangkat — Microsoft pun konsisten memasarkan "generate lokal" sebagai nilai jual. Namun dua tahap, moderasi prompt dan penandatanganan provenance, sama-sama berjalan di cloud — GUID harus diambil dari server, dan tanda tangan C2PA harus dilakukan oleh Microsoft. Gambarnya digambar secara lokal, tapi surat jalannya diterbitkan lewat internet.

Implikasi privasinya tidak rumit: selama Microsoft mencocokkan setiap prompt dengan akun yang mengirimkannya, secara teori sebuah gambar yang bocor bisa dilacak baliknya lewat watermark untuk mengetahui siapa dan proses generate yang mana. Kritik Li bukan ditujukan pada teknologi watermark itu sendiri, melainkan pada kecukupan keterbukaan informasinya — Microsoft memang pernah membicarakan langkah-langkah keamanan AI miliknya secara publik, tapi tidak pernah menjelaskan secara gamblang bahwa GUID di dalam manifest C2PA terikat dengan prompt pengguna. The Register menghubungi Microsoft untuk meminta tanggapan, tapi belum mendapat balasan hingga berita ini diterbitkan.

Garis Batas Antara Provenance dan Pelacakan

Persyaratan transparansi Uni Eropa untuk konten buatan AI intinya adalah membuat orang tahu bahwa sesuatu dibuat oleh AI. Standar seperti C2PA memang dirancang untuk itu — melabeli sumber dan metode pembuatannya. Pendekatan Microsoft ini melangkah lebih jauh dari sekadar pelabelan: ia menerbitkan nomor unik untuk setiap proses generate.

Implementasi teknis kedua hal ini nyaris identik, tapi tujuannya jauh berbeda. Kalau dihitung kasar, membedakan informasi biner "buatan AI / bukan buatan AI" cukup dengan satu bit. GUID 16-byte punya 2^128 kemungkinan nilai, dan lebar bit ekstra itu hanya bisa dipakai untuk mengkodekan sesuatu yang jauh lebih rinci. Lebar bit itu sendiri sudah menunjukkan niat desainnya — ini bukan label konten, melainkan kartu identitas untuk sebuah peristiwa generate.

Bagi pengguna Windows pada umumnya, dampak jangka pendeknya terbatas — kebanyakan orang tidak memakai gambar hasil Paint untuk keperluan yang butuh anonimitas. Tapi bagi yang menjadikan Paint sebagai alat sehari-hari, satu hal kini sudah pasti: generate secara lokal tidak berarti tanpa jejak lokal. Setiap gambar keluar membawa nomor yang hanya bisa dijelaskan oleh Microsoft.

Sumber: laporan analisis reverse engineering yang dipublikasikan Xusheng Li, The Register, CocoLoop; telah diverifikasi terhadap panjang byte GUID, jumlah bit watermark, angka perubahan piksel pada gambar 512×512, dan penulisan pengenal algoritme C2PA.