ForcedLeak adalah celah yang ditemukan Noma Labs pada Salesforce Agentforce, di mana teks yang diselipkan lewat formulir web dapat membuat agen AI membocorkan data CRM. Kasus ini, bersama dua kerentanan Microsoft Semantic Kernel yang membuka jalan dari prompt ke eksekusi kode, menunjukkan bahwa agen AI perusahaan perlu dirancang dengan asumsi semua teks luar tidak tepercaya.
Ringkasan ForcedLeak
- Produk: Salesforce Agentforce (agen AI untuk CRM) dengan fitur Web-to-Lead aktif. Perbaikannya berlaku untuk Agentforce dan Einstein AI.
- Jenis masalah: rantai kerentanan berupa prompt injection tidak langsung dan jalur keluar data lewat URL yang diizinkan.
- Penemu dan skor: Noma Labs memberi skor CVSS 9,4 (kritis). Skor ini penilaian penemu, bukan NVD.
- Status eksploitasi: Noma menyajikannya sebagai bukti konsep riset, dan tidak melaporkan korban nyata.
- Perbaikan: Salesforce memberlakukan Trusted URLs untuk Agentforce dan Einstein AI pada 8 September 2025, serta mengamankan kembali domain yang kedaluwarsa.
Bagaimana ForcedLeak Bekerja, Secara Konseptual
Menurut tulisan Noma Labs, rantainya terdiri dari tiga unsur yang jika bertemu menjadi berbahaya. Pertama, ada data tidak tepercaya yang masuk ke sistem lewat jalur yang sah, yaitu formulir Web-to-Lead milik perusahaan, tempat siapa pun dapat mengisi kolom deskripsi yang menurut Noma menampung hingga 42.000 karakter. Kedua, ada agen AI yang punya akses ke data CRM dan bertugas membantu staf mengolah lead. Ketiga, ada jalur keluar data: kebijakan keamanan konten (CSP) Agentforce masih mengizinkan sebuah domain yang sudah kedaluwarsa dan dapat dibeli kembali, yang menurut peneliti dibeli seharga 5 dolar AS untuk riset ini.
Ketika staf kemudian meminta agen memproses lead tersebut, agen membaca teks di kolom deskripsi sebagai bagian dari pekerjaannya, dan dapat terbujuk mengikuti instruksi di dalamnya. Pelajarannya bukan pada detail teknisnya, melainkan pada pola: agen tidak dapat membedakan data dari perintah. Detail muatan sengaja tidak dibahas di sini.
Linimasa ForcedLeak
- 28 Juli 2025: dilaporkan ke Salesforce.
- 31 Juli 2025: Salesforce mengakui laporan.
- 8 September 2025: penegakan Trusted URLs diterapkan.
- 25 September 2025: pengungkapan publik.
Semantic Kernel: Dari Prompt Menjadi Eksekusi Kode
Kasus kedua datang dari tim Microsoft Defender Security Research pada 7 Mei 2026, tulisan pertama dari seri riset tentang kerangka kerja agen. Advisory kedua CVE-nya sendiri sudah terbit di GitHub pada Februari 2026. Dua kerentanan pada kerangka kerja agen Semantic Kernel memperlihatkan bahwa masalahnya bukan di model, melainkan di kerangka yang memercayai parameter buatan model.
- CVE-2026-26030 pada paket Python semantic-kernel: filter pada In-Memory Vector Store dalam konfigurasi bawaan menyusun ekspresi dari nilai yang dikendalikan model lalu mengevaluasinya, dan validator berbasis blocklist dapat dilewati. Diperbaiki di versi 1.39.4 dengan beberapa lapisan, termasuk allowlist jenis node. Advisory proyek menyarankan tidak memakai InMemoryVectorStore untuk produksi sebagai solusi sementara.
- CVE-2026-25592 pada SDK .NET: fungsi DownloadFileAsync di SessionsPythonPlugin tidak sengaja terpapar ke model sebagai alat, sehingga jalur tujuan berkas bisa ditentukan model tanpa validasi. Diperbaiki di SDK .NET 1.71.0. Solusi sementara dari advisory adalah filter pemanggilan fungsi yang hanya mengizinkan jalur berkas dari daftar yang disetujui.
Tulisan blog Microsoft tidak mencantumkan skor CVSS, tetapi rekam CVE dan advisory proyek di GitHub menilai keduanya kritis (CVSS 3.1). Microsoft menyebut model berperilaku sesuai rancangan, dan kelemahannya ada pada kerangka yang memercayai parameter buatan model. Syarat eksploitasi adalah adanya jalur prompt injection ke agen, versi yang rentan, dan untuk CVE-2026-26030 konfigurasi bawaan Search Plugin dengan In-Memory Vector Store.
Mengapa Kedua Kasus Ini Penting bagi Perusahaan
Agen AI perusahaan hampir selalu berada di titik temu tiga hal: data internal yang bernilai, teks dari pihak luar, dan kemampuan bertindak. Pada ForcedLeak, formulir publik adalah pintu masuknya. Pada Semantic Kernel, pintunya adalah parameter yang disusun model. Dua kasus ini juga memperlihatkan bahwa celah di sekitar model, misalnya daftar domain yang diizinkan atau filter yang dievaluasi sebagai kode, sering lebih menentukan daripada model itu sendiri. Karena itu peninjauan keamanan agen harus mencakup seluruh rantai, mulai dari sumber data, prompt, alat, hingga jalur keluarnya.
Cara Memeriksa Paparan dan Memitigasi
- Inventarisasi agen AI yang membaca data dari luar (formulir, email, tiket, dokumen) dan tentukan data serta alat apa yang bisa dijangkau tiap agen.
- Pengguna Salesforce sebaiknya memeriksa pengaturan Trusted URLs untuk Agentforce dan Einstein AI, serta mengaudit data lead lama untuk isian yang mencurigakan.
- Audit allowlist CSP dan domain pada sistem Anda. Domain kedaluwarsa dalam daftar izin adalah celah klasik.
- Pengguna Semantic Kernel: perbarui Python ke 1.39.4 atau lebih baru dan .NET ke 1.71.0 atau lebih baru. Tentukan jendela rentan sejak versi lama dipasang sampai diperbarui, lalu periksa telemetri endpoint pada periode itu.
- Jika ada indikasi, anggap host berpotensi terkompromi, putar kredensial dan token yang dapat dijangkau agen, dan nilai sistem apa yang dapat dijangkau host.
- Perlakukan setiap parameter alat yang bisa dipengaruhi model sebagai masukan tidak tepercaya. Validasi di sisi aplikasi, bukan di dalam prompt.
- Pantau proses anak yang mencurigakan, koneksi keluar, dan artefak persistensi dari proses host agen, sebagaimana disarankan Microsoft.
Konteks Lebih Luas dan Relevansi untuk Indonesia
ForcedLeak dan Semantic Kernel adalah contoh konkret risiko yang kini dikodifikasi di OWASP Top 10 untuk Agentic AI dan LLM: pembajakan tujuan agen, penyalahgunaan alat, dan eksekusi kode tak terduga. Perusahaan Indonesia yang mengintegrasikan agen AI ke CRM, layanan pelanggan, atau sistem internal menghadapi bentuk yang sama, apa pun produknya. Dasar konsep prompt injection dijelaskan di artikel prompt injection. Jika organisasi Anda ingin menguji agen AI sebelum dipakai di produksi, lihat layanan asesmen Linuxhackingid.
Baca juga: Dugaan Kebocoran Data Mahasiswa 13 Universitas: Fakta dan Pelajarannya, Kebocoran Data Coupang dan Denda Rekor di Korea Selatan, Klaim Kebocoran Data BCA: Fakta, Bantahan, dan Cara Menyikapinya.
Pertanyaan yang Sering Diajukan
Apakah ForcedLeak pernah dieksploitasi di dunia nyata?
Noma Labs tidak melaporkan eksploitasi nyata. Kasus ini disajikan sebagai bukti konsep riset, dan Salesforce sudah menerapkan penegakan Trusted URLs pada 8 September 2025.
Apakah CVE-2026-26030 dan CVE-2026-25592 sudah ada perbaikannya?
Ya. Python semantic-kernel 1.39.4 untuk yang pertama dan SDK .NET 1.71.0 untuk yang kedua, menurut Microsoft dan advisory proyek di GitHub.
Mengapa disebut model bukan batas keamanan?
Karena keluaran model dapat dipengaruhi teks dari luar. Karena itu, kontrol akses dan validasi harus ada di kode dan infrastruktur, bukan hanya pada instruksi ke model.
Kesimpulan
Dua kasus ini mengajarkan hal yang sama: data tidak tepercaya, akses ke data sensitif, dan jalur keluar adalah kombinasi yang harus dipecah. Pangkas hak agen, validasi parameter alat, dan audit allowlist. Linuxhackingid siap membantu tim Anda memahami dan menguji risiko agen AI lewat pelatihan dan asesmen.
Setiap artikel ditinjau pimpinan praktik yang menangani pekerjaannya sebelum terbit.
