Apa yang terjadi
Permission splitter rtk, yang menentukan apakah perintah shell diizinkan sebelum outputnya disaring ke konteks LLM, gagal untuk secara konservatif menolak atau memisahkan beberapa konstruksi Bash yang merupakan batas eksekusi perintah. Prefiks perintah yang diizinkan dapat diikuti oleh subshell atau eksekusi bersarang untuk mencapai eksekusi perintah yang sewenang-wenang.
Mengapa penting
rtk berada di antara shell dan jendela konteks LLM — ini adalah kontrol keamanan untuk agen pengkodean AI. Melewati permission splitter berarti konten yang dikontrol penyerang (misalnya dari Makefile atau skrip shell proyek) dapat menjalankan perintah yang sewenang-wenang dalam konteks lingkungan eksekusi LLM, sepenuhnya mengasingkan tujuan keamanan alat.
Vektor serangan
Perintah yang dimulai dengan prefiks yang diizinkan tetapi berisi konstruksi shell yang diperlakukan Bash sebagai batas eksekusi (subshell, substitusi proses, pengelompokan perintah) melewati logika pemisahan konservatif permission splitter, menjalankan kode yang dikontrol penyerang dengan menyamar sebagai perintah yang disetujui
Sistem yang terdampak
rtk (rtk-ai/rtk) < 0.42.2
Mitigasi
Upgrade ke rtk 0.42.2. Advisory: https://github.com/rtk-ai/rtk/security/advisories/GHSA-7gxq-fvfc-g327