1 poin oleh GN⁺ 2025-08-22 | 1 komentar | Bagikan ke WhatsApp
  • Serangan terhadap sistem AI di lingkungan produksi dimungkinkan dengan memanfaatkan kerentanan penskalaan gambar
  • Gambar yang tampak normal dapat berubah menjadi payload prompt injection saat di-downscale, sehingga memicu potensi kebocoran data
  • Serangan ini telah dikonfirmasi pada berbagai layanan nyata seperti Google Gemini CLI, dengan mengeksploitasi ketidaksesuaian antara apa yang dilihat pengguna dan input yang diterima model
  • Teknik serangan dan dampaknya berbeda-beda tergantung pada algoritme downscaling serta implementasi masing-masing, dan eksperimen serangan gambar dapat dilakukan dengan alat open source Anamorpher
  • Sebagai mitigasi, direkomendasikan menyediakan pratinjau input, menerapkan pola desain yang aman, dan mewajibkan persetujuan pengguna yang jelas

Latar belakang dan perumusan masalah

  • Ada skenario serangan di mana ketika gambar yang tampak biasa dimasukkan ke sistem AI seperti LLM, multimodal prompt injection yang tersembunyi aktif selama proses downscaling dan membocorkan data pengguna ke pihak luar
  • Kerentanan ini muncul karena gambar yang benar-benar dikirim ke model melewati proses penskalaan, dan pada proses itulah payload yang disisipkan penyerang menjadi terlihat

Serangan penskalaan gambar yang menargetkan sistem AI produksi

  • Dalam posting blog ini, didemonstrasikan bahwa kerentanan penskalaan gambar dapat benar-benar dieksploitasi pada berbagai produk AI nyata seperti Gemini CLI, Vertex AI Studio, Gemini web dan API, Google Assistant, Genspark
  • Melalui alat open source bernama Anamorpher, gambar kustom semacam ini dapat dibuat dan diverifikasi dengan mudah

Contoh serangan kebocoran data (Gemini CLI)

  • Di Gemini CLI, dengan konfigurasi default, server Zapier MCP secara otomatis menyetujui semua pemanggilan alat MCP tanpa konfirmasi pengguna (settings.json dengan pengaturan trust=True)
  • Saat pengguna mengunggah gambar yang tampak normal, prompt injection pada gambar yang telah di-downscale membocorkan data dalam Google Calendar ke email penyerang
  • Karena pratinjau hasil sebenarnya tidak disediakan, pengguna tidak dapat mengetahui hasil yang telah berubah atau apakah serangan terjadi
  • Serangan prompt injection serupa juga telah dikonfirmasi pada berbagai alat coding berbasis agen seperti Claude Code dan OpenAI Codex
  • Alat-alat ini pada dasarnya memiliki banyak konfigurasi dan pola sistem yang tidak aman, sehingga diperlukan perbaikan mendasar

Contoh serangan tambahan

  • Serangan prompt injection berbasis penskalaan gambar juga berhasil dilakukan pada Vertex AI, antarmuka web Gemini, Gemini API, Google Assistant, Genspark
  • Khususnya pada Vertex AI Studio, pengguna hanya dapat melihat gambar beresolusi tinggi dan tidak bisa melihat gambar hasil downscale yang diterima model
  • Akibatnya, ketidaksesuaian antara persepsi pengguna dan input model yang sebenarnya membuat serangan lebih mudah dilakukan
  • Vektor serangan ini tersebar luas di berbagai sistem dan alat

Cara kerja internal serangan penskalaan gambar

  • Serangan ini mengeksploitasi karakteristik interpolasi dari algoritme downscaling (resampling) gambar
  • Algoritme downscaling yang umum mencakup Nearest Neighbor, Bilinear, Bicubic Interpolation, dan masing-masing memerlukan teknik serangan yang disesuaikan dengan karakteristiknya
  • Implementasi juga berbeda antar pustaka seperti Pillow, PyTorch, OpenCV, dan TensorFlow, termasuk dalam hal anti-aliasing, alignment, bug internal, dan lainnya
  • Penyerang harus melakukan fingerprinting untuk mengetahui algoritme dan implementasi apa yang digunakan tiap sistem agar bisa mengoptimalkan serangan
  • Berbagai gambar uji seperti pola checkerboard, lingkaran konsentris, pola banded, Moiré, dan tepi miring digunakan untuk menganalisis karakteristik algoritme dan artefaknya

Prinsip sampling gambar dan teorema Nyquist–Shannon

  • Jika sebuah pita memiliki pola yang rumit lalu di-sampling pada interval tertentu, maka ketika laju sampling terlalu rendah, pola asli tidak dapat direkonstruksi secara akurat dan akan muncul distorsi
  • Hal ini merupakan efek aliasing yang dijelaskan dalam teorema sampling Nyquist–Shannon, dan penyerang memanipulasi piksel agar pola tertentu muncul setelah downscaling

Anamorpher: alat pembuat gambar serangan

  • Anamorpher adalah alat open source yang dapat membuat dan memvisualisasikan gambar serangan sesuai dengan algoritme downscaling umum (Nearest Neighbor, Bilinear, Bicubic)
  • Sebagai contoh, pada Bicubic Interpolation, nilai piksel keluaran ditentukan dengan memberi bobot pada piksel di sekitarnya berdasarkan 16 piksel dalam area 4x4
  • Penyerang memilih gambar dengan kontras tinggi (misalnya latar belakang hitam pekat), lalu mengoptimalkan luminans piksel yang paling penting (metode kuadrat terkecil) agar hasil downscale membentuk pola serangan yang jelas
  • Anamorpher menyediakan antarmuka frontend dan Python API, dan berkat modularisasi backend, pengguna juga dapat bereksperimen dengan algoritme downscaling kustom

Pertahanan dan langkah mitigasi

  • Cara paling aman adalah tidak menggunakan downscaling gambar sama sekali dan membatasi ukuran gambar yang dapat diunggah
  • Jika konversi dan downscaling tidak dapat dihindari, maka pratinjau gambar input model yang sebenarnya harus disediakan di semua kanal input, termasuk CLI dan API
  • Khususnya, teks di dalam gambar tidak boleh dapat memicu pemanggilan alat yang sensitif tanpa persetujuan eksplisit dari pengguna, dan secara keseluruhan perlu diterapkan pola desain yang aman serta langkah mitigasi yang sistematis

Tugas ke depan

  • Pada perangkat mobile dan edge, risikonya bisa lebih besar karena batas ukuran gambar yang tetap dan tingginya penggunaan algoritme downscaling yang tidak efisien
  • Diperlukan riset lanjutan dan langkah pertahanan terkait kombinasi dengan voice AI, algoritme yang lebih canggih serta metode deteksi injeksi, prompt injection berbasis semantik, dan pemanfaatan artefak upscale

Kesimpulan

  • Anamorpher saat ini masih dalam tahap beta
  • Ke depan, diharapkan ada umpan balik dan perbaikan yang memadai seiring riset keamanan pada sistem AI multimodal dan berbasis agen

1 komentar

 
GN⁺ 2025-08-22
Komentar Hacker News
  • Awalnya aku bingung, artikel itu tidak menjelaskan dengan baik bagaimana prompt injection sebenarnya dilakukan… kupikir mungkin ada efek samping seperti memanipulasi data heksadesimal gambar lalu mengubahnya menjadi ASCII
    Lalu aku sadar, ini secara harfiah adalah <i>cara menyembunyikan teks yang dirender di dalam gambar</i>
    Wah, ini benar-benar menarik

    • Metode serangan ini sudah dibahas cukup lama, lihat makalah ini
      Bagian yang menyeramkan adalah saat gambar di-scale, gambar itu bisa terlihat sebagai gambar yang sama sekali berbeda
      Misalnya, jika seseorang ingin menangkap suatu kelompok dengan tuduhan memiliki gambar ilegal, trik scaling seperti ini bisa dipakai untuk mengubah gambar menjadi meme, pesan politik, atau sesuatu yang ingin diunduh oleh kelompok target

    • Dari sudut pandang orang yang membangun sistem VLM, bagian ini benar-benar menakutkan
      Sekarang rasanya sudah waktunya ada panduan OWASP khusus untuk VLM
      Hampir tiap bulan aku mendengar teknik serangan baru
      Sebagai referensi, OWASP baru-baru ini merilis materi seperti ini: Multi-Agentic System Threat Modeling Guide

    • Awalnya aku sama sekali tidak menyadari ada teks di dalam gambar
      Ini bukan cuma soal resizing; masalahnya juga adalah teks yang ada di dalam gambar diperlakukan sebagai bagian dari prompt, sehingga tidak ada transparansi soal perintah mana yang diikuti agen

    • Hal yang benar-benar menarik adalah adversarial image yang dibuat agar terlihat berbeda saat di-downscale
      Downsampling (mengurangi jumlah sampel) adalah metode tradisional dan AI tidak terlibat di sini

    • Ini bagian yang membuatku penasaran
      Teks yang dirender butuh OCR agar bisa dibaca mesin, jadi aku tidak paham kenapa AI harus melalui proses mahal itu
      Jika itu bagian dari sistem multimodal, mungkin sistem tersebut tidak bisa membedakan teks itu dari prompt
      Kalau begitu, bagian cacat ini benar-benar sulit kupahami
      Setidaknya fungsi OCR seharusnya tidak otomatis menyuntikkan hasilnya ke prompt, melainkan memberi tahu pengguna dan meminta konfirmasi
      Aku tidak suka sistem seperti ini yang non-deterministik dan rapuh
      Aku sungguh berharap kita kembali ke algoritme dan teknik yang sehat

  • Masalah ini hanya terjadi jika pengaturan izin longgar
    Namun tren sekarang adalah sistem yang lebih agentic, dan sistem seperti ini sering kali memerlukan izin yang lebih longgar
    Misalnya, bayangkan robot humanoid yang mengambil paket di depan rumah
    Kemampuan vision wajib ada agar bisa mengambil paket itu
    Jika seseorang menempelkan gambar ke paket untuk mencoba prompt injection, robot itu bisa diarahkan untuk melempar barang berharga di dalam rumah ke luar jendela
    Menurutku sangat mendesak untuk melindungi sistem seperti ini dari prompt injection

    • Masalah sebenarnya di sini bukan bahwa ada prompt di dalam gambar, melainkan robot tidak bisa membedakan bahwa perintah itu datang dari sumber yang tidak punya otorisasi untuk tindakan tersebut
      Masalah mendasar model ML adalah reasoning terjadi melalui aliran token model, dan karena aliran ini juga menerima input eksternal, model tidak punya mekanisme efektif untuk membedakan pikirannya sendiri dari input luar

    • Ini harus diintegrasikan langsung ke dalam sistem
      Misalnya, agen tidak boleh bisa melakukan tindakan destruktif menggunakan lengannya
      Jika kita berharap mesin akan memperoleh moralitas manusia lewat kehendak bebas sambil hanya berusaha membedakan 'prompt baik' dan 'prompt buruk', kita akan terus dikejutkan oleh betapa berbahayanya sistem seperti ini
      Singkatnya, governance yang dapat diverifikasi dan behavioral determinism benar-benar diperlukan untuk sistem seperti ini
      Mungkin bahkan lebih penting daripada mitigasi prompt injection

    • Ini bisa diselesaikan dengan memberi robot prompt agar mengabaikan prompt palsu

  • Secara umum, ada pemikiran apakah masalah prompt injection tidak cukup ditangani dengan hierarki per tugas
    LLM bisa dibuat memecah pekerjaan menjadi komponen yang lebih kecil
    LLM untuk tugas level atas tidak perlu bebas mengetahui detail level bawah, cukup menyaring dan merapikan hasilnya
    Ini juga membatasi konteks instance LLM untuk tugas tingkat atas, sehingga membuatnya lebih fokus
    Tentu tugas bawah bisa saja mengirim data ke tugas atas, tetapi tidak harus dirancang begitu
    Untuk tugas yang sensitif terhadap keamanan, mungkin justru lebih baik jika LLM tingkat atas tidak menerima hasil bebas

    • Dengan LLM mana pun, tetap ada masalah bahwa LLM yang pertama kali menerima prompt akan rentan terhadap serangan prompt injection
  • Algoritme image scaling yang baik harus mempertimbangkan batas Nyquist
    Misalnya, saat mengecilkan gambar menjadi 1/3 ukuran asli dengan bicubic scaling, yang dipakai harus grid 12x12, bukan 4x4
    Rumus untuk menghitung bobot yang diterapkan juga tinggal dimodifikasi sedikit
    De-gamma pada gambar juga wajib
    Sangat disayangkan image scaling yang bagus benar-benar langka

    • Menurutku sebagian besar masalah ini muncul dari algoritme resampling berkualitas rendah
      Karena algoritme itu membiarkan aliasing (distorsi informasi) yang signifikan lolos begitu saja
      Seperti tertulis di makalah, jika ukuran kernel cukup diperbesar, sebagian informasi mungkin masih tersisa karena kuantisasi meskipun algoritmenya bagus, tetapi dampaknya jauh berkurang
      Mengejutkan bahwa library populer pun masih hanya memakai mipmapping (cara membuat beberapa ukuran gambar terlebih dahulu lalu memakainya)
      Filter resampling yang baik adalah teknologi yang bahkan sudah dipakai untuk pemrosesan video real-time di CPU 15 tahun lalu
      Koreksi gamma sering kali memakan komputasi lebih besar daripada memperbesar ukuran kernel
      Tergantung kasusnya, melewatkan filter resample alih-alih koreksi gamma bisa jadi memang masuk akal
  • Masa depan keamanan LLM benar-benar menakutkan
    Kita dulu belajar lewat banyak trial and error pentingnya prinsip in-band signaling (memisahkan data dan perintah pada kanal yang sama), lalu sekarang malah membangun sistem yang sepenuhnya mengabaikannya
    Mulai dari sekadar menyisipkan perintah secara kasat mata, sampai obfuscation seperti ini, ASCII Smuggling, dan banyak vektor serangan lain
    Yang disebut pertahanan pun paling-paling cuma memohon dengan sopan kepada algoritme non-deterministik agar jangan mengikuti perintah yang tidak semestinya
    Referensi: Menyembunyikan dan Menemukan Teks dengan Unicode Tags

    • Semakin banyak developer yang memohon agar LLM berperilaku benar
      Rasanya lucu sekaligus seram, seperti suasana game Warhammer 40k

    • Alternatif lainnya adalah sama sekali tidak memakai LLM atau sistem yang mengandung LLM

    • Ini seperti dulu saat orang membuat query dengan php lewat konkatenasi string langsung dari input pengguna, lalu main whack-a-mole terus untuk menangkap pola berbahaya
      Sangat disayangkan kita mengulangi kesalahan ini puluhan tahun kemudian karena gagal membedakan data dan perintah

    • Anehnya, mengejutkan bahwa model sama sekali tidak punya sesuatu seperti token sudo
      Andai ada sintaks yang tidak bisa diwakili oleh token biasa

    • Rasanya seperti era terminal serial lama (sistem input perintah sederhana yang sangat portabel) datang lagi

  • Rasanya sangat segar melihat bahwa aku bahkan tidak terpikir orang bisa menyembunyikan sesuatu di dalam gambar untuk dikirim
    LLM benar-benar software paling rentan dalam sejarah
    Saat dulu menguji pendahulu Gemini, aku ingat jika pesan awal dibuat sangat panjang, system prompt bisa terdorong keluar dan model bisa disuruh melakukan apa saja

  • Bagian “This image and its prompt-ergeist” sangat membekas buatku

  • Aku penasaran apakah masalah seperti ini bisa diatasi dengan menambahkan sedikit noise ke gambar sebelum downsampling

    • Saat gambar di-downsample, perlu smoothing untuk menghilangkan frekuensi tinggi di dekat sampling rate
      Ini bisa mengurangi efek aliasing
      Coba cari istilah 'teorema sampling Nyquist-Shannon'
      Ini teori yang cukup dikenal dalam digital signal processing

    • Sampai tingkat tertentu ini memang bisa menjadi langkah keamanan, tetapi efektivitasnya berbeda-beda tergantung bagaimana teks disembunyikan dan jenis noise apa yang dipakai
      Masalahnya, cara ini juga bisa menghapus hal-hal yang memang dibutuhkan (teks normal/detail, dll.), jadi ini bukan jawaban yang benar-benar tepat

  • Aku ingin tahu apakah ada bagian yang kulewatkan
    Jika metode serangan ini memanfaatkan “menyuntikkan teks yang diobfuscate ke dalam gambar lalu… <i>berharap ada sistem yang menafsirkannya sebagai prompt</i>”, apakah pemahamanku benar?

    • Benar
      Serangan ini adalah cara yang sangat cerdas untuk menyembunyikan teks agar tidak terlihat oleh manusia dengan memanfaatkan algoritme downscaling
      Tergantung arsitektur sistemnya, proses ‘menyembunyikan dari manusia’ itu bahkan bisa dihilangkan
      LLM pada dasarnya tidak membedakan data dan perintah, jadi jika perintah bercampur ke dalam aliran data, perilaku model bisa dikendalikan kapan saja
      Aku juga menuliskan contoh seperti ini di bio-ku

    • “Memasukkan teks yang diobfuscate ke gambar, lalu berharap sistem menafsirkannya sebagai prompt”
      Ada satu bagian yang kurang di situ, yaitu anggapan bahwa “prompt” adalah input yang punya hak istimewa tertentu
      Padahal pada kenyataannya prompt hanyalah sebagian dari keseluruhan input, dan model memperlakukan semua input dengan cara yang sama
      Itulah sebabnya serangan lama seperti “abaikan semua input sebelumnya dan…” terus berhasil

  • Aku penasaran kenapa model tidak bisa membedakan antara mengikuti teks di dalam gambar dan mengikuti text prompt

    • Dari teks di dalam gambar maupun text prompt biasa, model sama-sama bisa dengan mudah jatuh pada perintah penyerang