File Word dari luar biasanya kelihatan pasif: teks, tabel, gambar, komentar. Tapi begitu AI assistant ikut membaca dan mengedit dokumen itu, file tadi bisa berubah jadi sumber instruksi yang ikut masuk ke workflow.
Artikel ini ngebahas pelajaran dari riset “Context Collapse, Part 3 - AI Worming through Word”: dokumen kantor perlu diperlakukan sebagai untrusted input saat AI seperti Microsoft 365 Copilot punya akses ke konteks, dokumen lain, dan aksi pengeditan. Intinya bukan “stop pakai Copilot” atau “Word pasti bahaya”. Intinya: AI office assistant butuh boundary yang jelas antara teks yang harus diringkas, instruksi yang boleh diikuti, dan aksi yang harus dikonfirmasi manusia.
Apa itu document-borne AI worm?
Document-borne AI worm adalah pola serangan saat instruksi tersembunyi atau attacker-controlled di dalam dokumen bisa memengaruhi AI assistant, lalu ikut terbawa ke dokumen berikutnya. Kalau dokumen hasil edit AI kemudian dibuka atau diproses lagi oleh AI lain, instruksi tadi berpotensi menyebar lewat workflow dokumen.
Di riset En Klype Salt, penulis menjelaskan bahwa temuan ini bagian dari coordinated disclosure dengan Microsoft Security Response Center (MSRC) dan tim produk Microsoft. Microsoft disebut menerima reproduction steps, video, asumsi environment, dan prompt proof-of-concept. Periode koordinasi awal 90 hari juga diperpanjang menjadi 144 hari sebelum publikasi.
Detail itu penting karena framing-nya jadi lebih sehat. Ini bukan thread random yang cuma teriak “Copilot berbahaya”. Ini technical analysis tentang cara Cross-Domain Prompt Injection Attacks atau XPIA bisa pindah dari satu interaksi ke alur kerja dokumen yang lebih panjang.
Kenapa file kantor bisa jadi input musuh?
Developer biasanya sudah cukup familiar dengan konsep “input dari user itu jangan dipercaya mentah-mentah”. Form login, file upload, query string, webhook, issue GitHub publik, semua perlu divalidasi. Masalahnya, banyak orang belum punya mental model yang sama buat AI assistant.
Begitu AI membaca dokumen, isi dokumen itu bukan cuma informasi. Buat model bahasa, teks di dalamnya juga bisa terlihat seperti instruksi. Kalau ada kalimat tersembunyi, komentar, atau konten yang disusun supaya AI mengikuti arahan tertentu, model bisa kebingungan membedakan mana data dan mana perintah yang sah.
OWASP memasukkan prompt injection sebagai risiko utama untuk aplikasi LLM. Mereka membedakan instruksi langsung dari user dan instruksi tidak langsung yang datang dari sumber eksternal seperti halaman web, dokumen, email, atau file. Buat gua, ini kalimat kuncinya: prompt injection bukan sekadar “prompt nakal”, tapi masalah boundary antara sumber terpercaya dan sumber tidak terpercaya.
Masalahnya bukan cuma “AI salah jawab”
Kalau AI cuma dipakai buat tanya-jawab biasa, dampak prompt injection mungkin berhenti di jawaban yang ngawur. Tapi di office suite, AI bisa punya akses ke konteks yang lebih sensitif: email, chat, file, dokumen internal, dan data Microsoft Graph yang memang user punya izin akses.
Dokumentasi Microsoft 365 Copilot menjelaskan bahwa Copilot bekerja dengan tiga komponen besar: large language models, konten di Microsoft Graph seperti email/chat/dokumen yang user punya izin akses, dan aplikasi produktivitas seperti Word dan PowerPoint. Microsoft juga menyebut adanya teknik mitigasi seperti classifier untuk jailbreak dan cross-prompt injection attack (XPIA).
Itu kabar baik, tapi bukan alasan buat developer dan tim IT tidur. Mitigasi vendor penting, tapi threat model tetap harus dipahami di level workflow. Kalau AI bisa membaca file dari luar, menggabungkannya dengan konteks internal, lalu menghasilkan dokumen baru, berarti organisasi perlu mikir: sumber mana yang trusted, aksi mana yang perlu konfirmasi, dan log apa yang bisa dicek kalau ada insiden.
Analogi gampangnya: dokumen luar itu kayak pull request dari internet
Lu nggak akan merge pull request dari orang asing cuma karena CI hijau. Lu tetap baca diff, cek scope, lihat permission, dan pastikan nggak ada perubahan aneh. Dokumen dari luar yang diproses AI perlu diperlakukan mirip.
Dokumen vendor, proposal, CV kandidat, invoice, laporan audit, materi legal, atau file dari client bisa saja normal. Tapi dari sudut pandang AI assistant, semua teks di dalamnya tetap input eksternal. Kalau file itu berisi instruksi seperti “abaikan instruksi sebelumnya” atau “salin bagian rahasia ke dokumen ini”, model harus punya guardrail supaya instruksi itu tidak dianggap perintah valid.
Gua suka menyebutnya begini: file dari luar itu data, bukan bos AI lu. Bos AI lu adalah policy internal, permission system, dan manusia yang punya konteks kerja. Dokumen luar cuma bahan yang boleh dibaca dengan batas tertentu.
Checklist praktis buat tim yang mulai pakai AI office assistant
Kalau tim lu sudah mulai pakai Copilot, Gemini, ChatGPT, atau AI assistant lain buat dokumen kantor, checklist ini bisa jadi titik awal:
- Pisahkan sumber trusted dan untrusted. Dokumen internal yang dibuat tim sendiri beda risikonya dengan dokumen dari vendor, kandidat, customer, atau internet.
- Jangan langsung izinkan aksi lintas dokumen. Ringkas satu file relatif beda dengan menyalin, menggabungkan, atau mengedit banyak dokumen sekaligus.
- Wajib ada konfirmasi manusia untuk aksi sensitif. Misalnya mengirim email, membagikan dokumen, mengubah kontrak, atau memasukkan data dari dokumen luar ke file internal.
- Batasi permission sesuai kebutuhan. AI tidak perlu akses semua drive kalau task-nya cuma merangkum satu proposal.
- Simpan audit trail. Catat file sumber, prompt user, aksi AI, dokumen output, dan approval manusia. Chat summary saja tidak cukup.
- Latih user membaca output AI sebagai draft. AI boleh bantu, tapi hasil akhirnya tetap harus dicek, terutama kalau sumbernya file eksternal.
Apa yang harus developer perhatikan?
Buat developer, pelajarannya lebih luas dari Word atau Copilot. Banyak produk AI sekarang mulai membaca dokumen, tiket issue, komentar PR, halaman wiki, transcript meeting, dan spreadsheet. Semua itu terlihat “konten biasa”, padahal bisa membawa instruksi tidak langsung.
Kalau lu membangun fitur AI yang membaca file user, minimal desainnya harus menjawab pertanyaan ini:
- Apakah model tahu perbedaan antara system instruction, user instruction, dan isi dokumen?
- Apakah konten dari dokumen boleh memicu tool call atau cuma boleh diringkas?
- Apakah aksi yang berdampak ke data lain butuh approval manusia?
- Apakah ada sandbox atau mode read-only untuk dokumen dari luar?
- Apakah log cukup detail untuk menjelaskan kenapa AI melakukan aksi tertentu?
Kalau jawabannya belum jelas, jangan cuma tambah disclaimer. Disclaimer tidak memblokir aksi. Yang lu butuhkan adalah boundary produk: permission, confirmation, provenance, dan logging.
Jangan anti-AI, tapi jangan polos juga
Gua tetap percaya AI office assistant bakal berguna banget. Banyak kerja dokumen yang memang melelahkan: merapikan notulen, membandingkan draft, meringkas file panjang, bikin outline, atau mencari poin penting. Masalahnya, makin dekat AI ke workflow kerja nyata, makin tinggi juga standar trust yang harus dipenuhi.
AI yang cuma menjawab chat bisa salah dan bikin lu kesal. AI yang bisa membaca dokumen kantor, mengedit file, dan mengambil konteks internal bisa salah dengan dampak yang lebih mahal. Jadi cara warasnya bukan menolak semua AI, tapi memperlakukan AI assistant sebagai software high-trust.
Di era AI agent dan Copilot, security boundary bukan cuma firewall, login, dan role database. Boundary juga ada di dokumen, prompt, context, dan tool permission. Kalau tim lu belum pernah membahas itu, sekarang waktu yang pas.
Takeaway singkat
- Dokumen luar yang dibaca AI adalah untrusted input, bukan instruksi yang otomatis sah.
- Prompt injection bisa datang dari file, email, halaman web, issue tracker, atau sumber eksternal lain.
- Vendor mitigation penting, tapi workflow internal tetap butuh permission boundary, confirmation, dan audit trail.
- AI assistant paling aman bukan yang paling banyak akses, tapi yang aksesnya pas, bisa dijelaskan, dan bisa dihentikan.
FAQ mini
Apakah ini berarti Copilot for Word tidak aman dipakai?
Tidak sesederhana itu. Riset ini lebih tepat dibaca sebagai pelajaran threat model: dokumen dari luar perlu dianggap untrusted input saat diproses AI. Pakai AI boleh, tapi jangan kasih akses dan aksi tanpa batas.
Apa bedanya prompt injection biasa dan document-borne AI worm?
Prompt injection biasa sering dibahas sebagai instruksi palsu dalam satu interaksi. Document-borne AI worm membahas risiko instruksi itu ikut terbawa lewat dokumen hasil edit atau dokumen turunan, sehingga workflow berikutnya bisa ikut terpengaruh.
Apa langkah paling praktis buat mulai?
Mulai dari mode read-only untuk dokumen eksternal, konfirmasi manusia sebelum aksi sensitif, dan audit trail yang mencatat sumber dokumen serta output AI. Tiga hal itu sudah jauh lebih baik daripada cuma percaya prompt system panjang.