Apa yang terjadi
Pemuat format prompt LLM berbasis markdown Prompty milik Microsoft mewarisi fitur executable frontmatter dari gray-matter, memungkinkan file .prompty yang berbahaya (misalnya, dibagikan atau diunduh dari repo) menjalankan JavaScript arbitrer pada saat file tersebut diuraikan oleh aplikasi.
Mengapa penting
File Prompty dirancang untuk menjadi definisi prompt yang portabel dan dapat dibagikan untuk aplikasi LLM; jika tim menarik file .prompty pihak ketiga (misalnya, dari perpustakaan prompt bersama atau repo) yang diharapkan hanya berupa template teks, mereka justru mendapatkan eksekusi kode arbitrer — risiko rantai pasokan yang spesifik untuk ekosistem prompt-as-code yang sedang berkembang.
Vektor serangan
Pemuat @prompty/core menggunakan pustaka gray-matter untuk menguraikan frontmatter .prompty tanpa menonaktifkan mesin frontmatter 'js'/'javascript' yang dapat dieksekusi, sehingga file .prompty yang dikendalikan penyerang yang berisi frontmatter JS menjalankan JavaScript arbitrer ketika dimuat oleh runtime.
Sistem yang terdampak
Pemuat @prompty/core TypeScript, 2.0.0-alpha.1 – 2.0.0-beta.3
Mitigasi
Tingkatkan ke Prompty 2.0.0-beta.3 atau lebih baru, yang menonaktifkan mesin frontmatter yang dapat dieksekusi.