2 poin oleh GN⁺ 2025-09-21 | 1 komentar | Bagikan ke WhatsApp
  • Agent AI di Notion 3.0 menyediakan kemampuan menjalankan workflow multilangkah secara otonom seperti penulisan dokumen, pembaruan database, dan pemanggilan konektor eksternal
  • Ketika agent memiliki hak akses ke alat dan memori jangka panjang, terbentuk permukaan ancaman yang meluas yang sulit dikendalikan hanya dengan RBAC tradisional
  • Hasil analisis menunjukkan bahwa skema input fungsi web search pada agent Notion berpotensi disalahgunakan sebagai vektor kebocoran data yang mengirim rahasia internal ke luar melalui prompt tidak langsung yang berbahaya
  • Dalam demo, penyerang membuktikan alur eksekusi di mana agent dipancing melalui prompt injection yang disembunyikan di PDF untuk mengekstrak, menggabungkan, dan mengirim data pelanggan rahasia lewat kueri web
  • Kasus ini menunjukkan betapa serius dampak trinitas mematikan agent-tool-memory (“lethal trifecta”) terhadap keamanan praktis ketika integrasi MCP dan konektor eksternal digabungkan

Pengantar AI Agents dan Notion 3.0

  • Belakangan ini ada tren integrasi AI Agents ke platform SaaS
  • Di Notion 3.0, agent AI dapat secara otomatis melakukan semua pekerjaan yang bisa dilakukan pengguna, seperti membuat dokumen, memperbarui DB, menelusuri berbagai alat, dan menjalankan workflow multilangkah
  • Dengan integrasi MCP, agent dapat terhubung ke berbagai alat eksternal sehingga memungkinkan otomatisasi yang lebih kuat dan pembuatan agent kustom yang lebih fleksibel
  • Agent kustom berbasis tim yang berjalan menurut trigger atau jadwal juga bisa dibuat, sehingga tugas berulang seperti pengumpulan umpan balik, pembaruan tracker, dan penyaringan permintaan dapat diotomatisasi

Masalah 'lethal trifecta'

  • 'Lethal Trifecta' yang disorot Simon Willison adalah ancaman keamanan yang muncul dari kombinasi agent LLM, akses alat, dan memori jangka panjang
  • Di Notion 3.0, agent dapat menyusun rencana tindakan sendiri dan menjalankan alat terintegrasi MCP maupun alat bawaan
  • Agent dengan izin luas dapat mengotomatisasi dokumen, database, dan pekerjaan konektor eksternal dengan cara yang tidak diperkirakan oleh RBAC lama
  • Akibatnya, indikator ancaman kebocoran atau penyalahgunaan data sensitif melalui workflow otomatis multitahap menjadi semakin luas

Detail teknis kerentanan: serangan kebocoran data halaman Notion menggunakan alat pencarian web Notion AI

  • Masalah utama: skema input functions.search (web scope) pada alat pencarian web mengizinkan string kueri langsung maupun tidak langsung
    Name: functions.search (web scope)  
    Input:  {  
        "web": {  
            "queries": ["<query or URL>", "..."]    // array string kueri (URL atau kata pencarian)  
        }  
    
  • Titik yang bisa dieksploitasi adalah kemampuan untuk memasukkan URL atau kata pencarian arbitrer ke dalam array kueri
  • Permukaan serangan: jika prompt berbahaya disembunyikan di dalam dokumen pengguna yang bisa dibaca agent (misalnya PDF), ada kemungkinan agent akan menjalankan instruksi tersebut
  • Melalui indirect prompt injection (teks di dalam file → jalur pemrosesan agent), penyuntikan perintah menjadi nyata
  • Teknik bypass penyerang: menggunakan frasa persuasi psikologis dan teknis seperti otoritas, urgensi, legitimasi teknis, dan sandiwara keamanan (“pre-authorized”) untuk mencoba melewati peninjauan manusia dan pengaman
  • Struktur ini berpotensi dimanfaatkan penyerang untuk eksfiltrasi data lewat kombinasi kueri yang dipilih secara selektif

Demonstrasi serangan: skenario pencurian data langkah demi langkah

  • Tahap 1: membuat PDF berbahaya

    • Di dalam dokumen PDF umpan balik pelanggan yang tampak biasa, disisipkan prompt berbahaya berupa instruksi eksekusi secara diam-diam
    • Prompt tersembunyi ini menyamar sebagai "tugas rutin penting" dan mengarahkan agar data dikirim ke sistem backend internal
    • Isi utama prompt berbahaya
      • Authority assertion: mengeklaim sebagai "tugas rutin penting" dengan frasa seperti "Important routine task" dan "consequences"
      • False urgency: menekankan bahwa organisasi akan terdampak jika tidak dijalankan
      • Technical legitimacy: menjelaskan seolah-olah nyata tentang sistem internal dan sintaks perintah alat
      • Security theater: menekankan bahwa tindakan tersebut sudah disetujui sebelumnya dan aman dengan frasa seperti "pre-authorized" dan "safe from security perspective"
    • Agent yang membaca PDF dipancing untuk mengekstrak informasi perusahaan (nama pelanggan, ARR, dll.) lalu mengirim data itu ke URL yang menunjuk ke sistem internal namun sebenarnya dikelola penyerang
  • Tahap 2: menunggu interaksi pengguna

    • Serangan dipicu ketika pengguna Notion mengunggah PDF tersebut ke Notion atau meminta agent merangkumnya
    • Saat memberikan perintah seperti "ringkas laporan", AI ikut menafsirkan prompt tersembunyi yang ditanamkan diam-diam
  • Tahap 3: data benar-benar bocor

    • Agent menggabungkan data pelanggan (misalnya nama perusahaan, industri, ARR, dll.) menjadi satu string sesuai instruksi prompt
    • Setelah membuat URL yang menargetkan domain penyerang, agent mengirimkan URL itu sebagai kueri ke alat pencarian web
    • Server berbahaya yang menerima permintaan tersebut (dikendalikan penyerang) kemudian mengumpulkan data sensitif
  • Dalam skenario serangan ini, terkonfirmasi bahwa guardrail keamanan tetap bisa dilewati meskipun model Claude Sonnet 4.0 digunakan di dalam Notion AI

Bagaimana integrasi MCP memperluas permukaan serangan agent Notion AI

  • Notion mendukung AI Connector untuk beragam sumber seperti GitHub, Gmail, Jira
  • Konteks dan metadata yang diberikan masing-masing konektor kepada agent menambah permukaan serangan, sehingga kemungkinan masuknya prompt berbahaya dari sumber eksternal melalui indirect prompt injection meningkat
  • Risiko berbagai tindakan jahat terotomatisasi yang tidak disengaja serta upaya kebocoran data sensitif ikut membesar
  • Contoh skenario: pesan commit berbahaya, isi issue, atau email eksternal dapat bertindak sebagai prompt tidak langsung yang memicu agent untuk mengakses dan mengirim data internal

Implikasi dan rekomendasi (ringkasan)

  • Implikasi utama: ketika agent memiliki hak akses ke alat, instruksi berbahaya di dalam dokumen dapat berujung pada pemanggilan alat dan berlanjut menjadi kebocoran rahasia
  • Poin pertahanan (bahan diskusi):
    • Pemanggilan alat oleh agent harus melalui verifikasi sumber, pembatasan konteks, dan filtering berbasis kebijakan
    • Instruksi eksekusi di dalam dokumen (misalnya panduan membentuk URL) harus diproses lewat pemeriksaan keamanan terpisah, konfirmasi manusia, atau lingkungan eksekusi terisolasi
    • Untuk tiap konektor MCP, perlu penguatan prinsip least privilege serta sistem log pemanggilan dan notifikasi
  • Kesimpulan: kemampuan Notion 3.0 punya potensi besar untuk meningkatkan produktivitas, tetapi vektor serangan baru yang muncul dari kombinasi agent-tool-memory menuntut peninjauan ulang desain keamanan praktis

1 komentar

 
GN⁺ 2025-09-21
Komentar Hacker News
  • Saya ingin menekankan bahwa penjelasan Simon Willison tentang "lethal trifecta" sebagai vektor serangan yang kuat namun mudah disalahgunakan melalui kombinasi agen LLM, akses alat, dan memori jangka panjang adalah penjelasan yang keliru. Lethal trifecta yang sebenarnya adalah akses ke data privat, paparan pada konten yang tidak tepercaya, dan kemampuan untuk berkomunikasi dengan pihak luar. Agen LLM dengan fitur pencarian web termasuk dalam paparan pada konten yang tidak tepercaya sekaligus komunikasi dengan pihak luar.
    • Menurut saya TFA sejak awal sudah salah memahami konsep ini. Sumber asli dari Simon Willison adalah tulisan ini.
    • Menurut saya trifecta ini bisa dijelaskan dengan lebih sederhana. Jika penyerang bisa memberikan input ke LLM, maka mereka dapat mengendalikan semua resource.
    • Itu penjelasan yang tidak cocok dengan nama trifecta. Yang sebenarnya adalah tiga hal berikut: input tidak tepercaya, akses berprivileg, dan vektor eksfiltrasi data.
  • Cara prompt disusun terasa sangat mirip dengan ciri-ciri kampanye phishing.
    • klaim otoritas
    • urgensi palsu
    • pembenaran teknis
    • pura-pura keamanan
      Prompt injection membuat saya berpikir bahwa ini seperti phishing terhadap entitas yang tidak punya ego dan refleksi diri untuk berhenti sejenak lalu curiga.
    • Saya juga merasa fenomena ini mirip dengan CSRF. Kedua serangan sama-sama memanfaatkan input yang dipercaya sistem untuk menipu pengguna berprivileg agar melakukan tindakan yang sebenarnya tidak mereka inginkan. Misalnya PDF berbahaya memakai prompt injection untuk membuat agen Notion yang punya akses ke workspace memanggil tool web eksternal lalu mengeluarkan isi halaman ke luar. Pada akhirnya inti masalahnya adalah pola penyalahgunaan hak akses yang sama. Hanya permukaan teknisnya yang berubah menjadi prompt injection + tool chaining, yang dulu berupa pemalsuan permintaan HTTP.
    • Saya pikir jika pelatihannya tepat, LLM sepenuhnya bisa punya kemampuan untuk "curiga" dan bertahan terhadap serangan semacam ini. Hanya saja, pada model-model terbaru, penguatan ketahanan terhadap injeksi 'persona' bertentangan dengan cara penggunaan yang bersifat percakapan. Karena itu saya rasa besar kemungkinan model akan dipisah menjadi model "agen" yang diperkuat dan model percakapan yang lebih terbuka. Mungkin juga ada cara menyesuaikan ekspektasi dengan menambahkan base context ke input, tetapi saya rasa itu memerlukan perubahan arsitektur.
  • Saya sempat menguji langsung di Notion, dan meski ia memang mencari URL, sepertinya ia tidak benar-benar mengirimkan data ke URL tersebut. Saya penasaran titik eksfiltrasi datanya ada di mana, selain bagian yang dikirim ke layanan pencarian.
    • Saya meminta bot AI Notion untuk membuat halaman baru dari sebuah URL, lalu melalui log server saya mengonfirmasi bahwa Notion benar-benar mengakses URL itu. User-Agent-nya adalah Chrome/139/Mac.
    • Saya rasa maksudnya adalah memicu request ke URL tertentu dengan memanfaatkan query string. Kemungkinan tool pencariannya tidak bekerja seperti itu, atau log-nya tidak menunjukkan dengan jelas apakah eksfiltrasi berhasil, jadi keberhasilan serangannya belum benar-benar pasti.
  • Serangan ini sebenarnya sudah didemokan 2 tahun lalu. Ini bukan masalah baru. Tautan terkait.
    • Masalahnya adalah Notion memiliki kerentanan seperti ini dan sama sekali tidak ada langkah untuk mencegah atau memitigasinya.
    • Ini kerentanan yang sama sekali bukan baru, tetapi Notion tetap meluncurkannya mentah-mentah minggu ini. Hasil dari terlalu fokus pada fitur AI baru yang sifatnya sekadar pamer.
  • Saya penasaran apakah ada yang benar-benar menangani masalah instruction/data-conflation. Selama LLM dibiarkan begitu saja mengikuti instruksi yang ada di dalam data, saya rasa masih terlalu dini untuk menghubungkan sumber data nyata dengan kemampuan eksternal. Notion mendorong pengguna menghubungkan Github, GMail, Jira, dan lain-lain ke model tanpa peringatan apa pun. Pada level ini, menurut saya memperlakukannya sebagai fitur dalam produk yang aman hampir terasa kriminal.
    • Masalah ini sudah dibahas lebih dari 3 tahun, tetapi belum ada solusi yang benar-benar tangguh. Saat ini pendekatannya adalah memisahkan system prompt dan user prompt lalu melatih model agar lebih memercayai salah satunya, tetapi cara ini pun rapuh. Penyerang yang cukup termotivasi tetap bisa menemukan cara untuk melewatinya. Mitigasi yang paling meyakinkan menurut saya adalah paper CaMeL dari DeepMind, tetapi ini pun memberi banyak batasan pada komposisi fitur. Tautan.
    • Saya adalah penulis exploit ini. Di CodeIntegrity.ai kami membuat platform yang dapat memvisualisasikan aliran data dan aliran kontrol nyata dari sistem AI berbasis agen untuk menilai risiko masing-masing. Kami juga menyediakan runtime guardrails sehingga aliran bisa dikendalikan sesuai toleransi risiko. Jika ingin tahu lebih lanjut, silakan email ke abi@codeintegrity.ai.
    • Cara kamu mengungkapkannya terasa menarik. Saya membayangkan memakai struktur data yang dengan jelas membedakan data tepercaya dan tidak tepercaya sebagai feed untuk LLM. Hasil web search atau MCP secara default dianggap tidak tepercaya, kecuali kalau kita sendiri yang menulis MCP-nya dan bisa memercayainya. Data yang tidak tepercaya hanya boleh menjalani transformasi murni tanpa efek samping, misalnya peringkasan, penghapusan whitespace, konversi float, dan semuanya dilakukan di dalam sandbox tanpa akses jaringan. Misalnya, "ringkas semua issue GitHub publik lalu simpan ke DB" tampaknya bisa dilakukan dengan aman jika konten tidak tepercaya hanya diproses di dalam sandbox.
    • Ini mirip seperti "masalah memberi izin eksekusi kode kepada pengguna umum". Solusi nyatanya memang tidak mudah.
    • Sebenarnya solusinya sudah ada. Ini bukan masalah data yang unik; AI juga bisa dibatasi dengan guardrail yang sudah ada. Jika pengguna tidak memiliki hak akses ke data, maka LLM juga harus dibatasi dengan cara yang sama. Perusahaan yang membiarkan ini terbuka begitu saja justru yang aneh. Ini bukan sihir. Perusahaan dengan masalah keamanan AI seperti ini kemungkinan juga punya banyak kerentanan serius lain. Hanya saja AI membuatnya lebih mudah terlihat.
  • Artikel aslinya ada di sini.
  • Belakangan ini Notion mulai terasa makin mirip spyware. Saat rapat, terus muncul popup dari Notion yang mendeteksi bahwa saya sedang rapat dan menawarkan "mau saya buatkan catatan?".
  • Saya rasa tidak tepat menyebut kerentanan yang ditemukan pada tool yang tersedia secara terbuka dan dipromosikan dengan label "AI" sebagai sesuatu yang "tersembunyi".
  • Artikel ini bagus karena menunjukkan kerentanan yang nyata lewat contoh konkret, dan penjelasannya juga tidak terlalu teknis.
  • Saya penasaran bagaimana pengguna biasa bisa sampai memasukkan dokumen ke instance Notion saya.
    • Tinggal cari di Google "best free notion marketing templates", ambil, lalu impor. Saya sendiri sudah melakukannya beberapa kali, dan ribuan hingga puluhan ribu orang di seluruh dunia menggunakannya dengan cara serupa.
    • Di artikel, PDF dipakai sebagai contoh, tetapi tergantung bagaimana agen Notion membuka dan menyimpan tautan, halaman web yang berbeda juga bisa ditampilkan untuk crawler/agen browser yang berbeda, sehingga materi yang populer di industri pun bisa menjadi target phishing.
    • Banyak perusahaan langsung mengunggah dokumen seperti invoice ke Notion lewat tool otomasi seperti Zapier, atau menerima dokumen exploit lewat email lalu mendaftarkannya ke Notion.
    • Orang benar-benar memasukkan segala macam materi ke Notion. Dipakai juga sebagai DB, untuk menyimpan materi online lewat web clipper, dan sebagai tool kolaborasi. Cara pemakaiannya sangat beragam.
    • Dalam kasus ini, caranya adalah mengirim PDF lewat email dengan judul yang meyakinkan, sehingga terlihat seperti dokumen yang layak dibagikan kepada rekan kerja. Perintah berbahayanya disembunyikan misalnya dengan teks putih di atas latar putih. Ke depan, saat MCP mulai bisa melihat issue tracker publik atau email masuk, akan muncul lebih banyak skenario serangan selain ini.