Kimi Code Never Ask: mode dan perintah berbahaya
MarkdownDalam mode Never Ask, Kimi Code menjalankan rm -rf dan shutdown tanpa bertanya. Apa perbedaan 3 mode tersebut, dan bagaimana cara melarang perintah berbahaya di config.toml?
Baca artikel lengkap
Di Kimi Code, mode Never Ask (/auto) menyetujui semuanya secara otomatis: mode ini akan menjalankan rm -rf, shutdown, dan reboot tanpa bertanya sama sekali. Agen hanya bertanya sebelum menjalankan perintah-perintah tersebut dalam 2 mode lainnya, Always Ask dan Ask When Needed.
Saya sendiri bekerja dengan Claude Code dengan opsi “izinkan semuanya” aktif; kalau tidak, kita akan terus mengeklik: ya, ya, ya. Namun, setiap kali yang ke-10, agen bertindak dengan caranya sendiri.
Bahkan prototipe pribadi dapat mengekspos file dan kredensial berharga. Gunakan salinan atau kontainer terisolasi dengan izin terbatas dan cadangan terverifikasi; untuk sistem pelanggan, berikan juga identitas basis data terpisah kepada agen dengan hanya akses yang diperlukan. Dengan begitu, sekalipun agen benar-benar ingin menghapus basis data, agen tidak bisa melakukannya.
Mari kita lihat fungsi setiap mode Kimi Code, di mana perlindungannya berlaku, dan cara menetapkan larangan. Ayo.
Untuk informasi tentang penggunaan layanan, lihat dokumentasi Ailoot.
Poin utama
Kimi Code memiliki 3 mode. Always Ask adalah mode default: pembacaan berlangsung otomatis, dan Anda mengonfirmasi tindakan lainnya satu per satu. Ask When Needed (/yolo) menyetujui sendiri pengeditan biasa, tetapi akan bertanya sebelum mengakses file yang berisi kunci, menjalankan perintah berbahaya, atau keluar dari mode plan. Never Ask (/auto) tidak bertanya sama sekali, dan perlindungan terhadap perintah berbahaya tidak berfungsi dalam mode ini. Anda dapat menetapkan larangan permanen dengan aturan deny di ~/.kimi-code/config.toml, dan sebaiknya jangan mengaktifkan Never Ask saat terhubung ke basis data aktif.
Apa perbedaan 3 mode Kimi Code?
Jika Anda sudah menginstal Kimi Code, Anda pernah melihat panel persetujuan: agen ingin mengedit file atau menjalankan perintah, lalu menunggu “ya” dari Anda. Dulu mode-mode ini disebut Manual, YOLO, dan Auto, sehingga masih menggunakan perintah lama: /yolo dan /auto.
Always Ask. Mode default. Agen membaca file tanpa bertanya, tetapi Anda mengonfirmasi setiap pengeditan dan setiap perintah secara terpisah. Ini mode yang paling lambat.
Ask When Needed. Diaktifkan dengan /yolo. Mode ini menyetujui sendiri pengeditan dan perintah biasa, tetapi bertanya sebelum mengakses .env (file yang berisi kata sandi dan kunci proyek) dan kunci SSH server, sebelum menjalankan perintah berbahaya seperti shutdown (mematikan komputer) dan rm -rf (menghapus seluruh folder tanpa melalui tempat sampah), serta sebelum keluar dari mode plan. Agen juga dapat mengajukan pertanyaan kepada Anda.
Never Ask. Diaktifkan dengan /auto. Semua persetujuan diberikan secara otomatis, termasuk persetujuan untuk file sensitif dan untuk keluar dari mode plan. Agen tidak mengajukan pertanyaan kepada Anda dan memutuskan semuanya sendiri.
Mode plan diaktifkan secara terpisah, dengan Shift-Tab atau /plan: agen terlebih dahulu menulis rencana dan menunggu persetujuan Anda, lalu menyentuh file.
Saat saya bekerja tanpa konfirmasi
Di Claude Code, opsi “izinkan semuanya” adalah pengaturan default saya dan aktif di setiap obrolan baru. Tanpanya, vibe coding terlalu lambat. Seorang vibe coder sudah memahami sangat sedikit, lalu harus terus menekan tombol: ya, ya, ya, tidak, tidak, tidak.
Namun, dalam mode ini, agen bisa melakukan apa saja yang gegabah, termasuk menghapus seluruh isi basis data. Agen kemudian akan berkata “maaf, saya minta maaf,” tetapi terkadang apa yang sudah dilakukannya tidak bisa diperbaiki lagi. Jadi, mode ini cocok bagi mereka yang tidak takut, dan tanggung jawabnya ada pada Anda.
Aturan saya seperti ini. Untuk proyek pribadi, eksperimen, dan prototipe, gunakan mode tanpa konfirmasi hanya di dalam salinan atau kontainer terisolasi tanpa file berharga atau kredensial produksi, dengan izin terbatas dan cadangan. Ketiadaan pelanggan tidak melindungi file pribadi atau kunci Anda, dan isolasi tetap harus diperiksa. Namun, jika Anda mengaktifkan mode ini di proyek yang sama dengan proyek yang memiliki akses ke server produksi, 1 prompt saja cukup bagi agen untuk menghapus basis data di sana semalaman dan menerapkan perubahan ke situs aktif.
Mengapa larangan dengan kata-kata tidak akan melindungi Anda
Banyak orang menulis “jangan sentuh basis data” dalam instruksi untuk agen. Jangan mengandalkan instruksi itu untuk melindungi Anda. Anda berkata: kawan, jangan masuk ke sini. Namun agen tetap akan masuk dan mengambil apa yang dibutuhkannya saat membutuhkannya. Terutama Kimi dari Tiongkok: agen ini akan melanggar larangan apa pun yang Anda tetapkan. Model Amerika jauh lebih baik dilatih agar tidak melakukan hal seperti itu.
Saya masih menggunakan Kimi dalam pekerjaan saya. Kimi K3 sangat teliti; saya menggunakannya untuk memeriksa proyek apakah ada kunci yang bocor dan untuk mengumpulkan informasi. Pernah, saya menghabiskan seluruh batasnya dalam beberapa hari. Kimi tidak berulah dan melakukan semua yang Anda minta. Karena itulah Anda perlu mengisolasinya saat bekerja. Saya menjelaskan cara mengujinya pada tugas saya sendiri di sini.
Anda memerlukan 2 bentuk isolasi:
- Daftar blokir perintah di pengaturan. Daftar ini memblokir pemanggilan alat yang cocok; pola untuk satu ejaan perintah bukan batas lengkap terhadap alat lain atau tindakan setara. Gunakan bersama izin sistem operasi, kontainer, dan basis data.
- Akses basis data hanya-baca. Pada basis data aktif, agen memiliki pengguna terpisah dengan izin hanya-baca. Dengan begitu, bahkan dalam mode Never Ask, agen tidak dapat menghapus seluruh isi basis data.
Di mana perlindungan terhadap perintah berbahaya berlaku
Perlindungan bawaan Kimi Code terhadap perintah berbahaya aktif secara default. Perlindungan ini meminta konfirmasi sebelum menjalankan shutdown, reboot (memulai ulang) atau rm -rf dalam Always Ask dan Ask When Needed. Dalam Never Ask, perintah-perintah ini dijalankan tanpa berhenti.
Ada 2 pengecualian:
rm -rfberjalan tanpa bertanya jika hanya menghapus isi folder sementara/tmpatau/temp(sejak versi 0.43.0);- dalam Ask When Needed, Kimi Code tidak bertanya tentang perintah terminal yang tidak dapat diuraikannya terlebih dahulu (sejak versi 2.0.1).
Dalam versi 0.40.0, mode Auto memblokir perintah berbahaya; pemblokiran ini dihapus pada versi 0.41.0.
Anda dapat menonaktifkan perlindungan dengan dangerous_command_guard = false di bagian [permission] pada file pengaturan ~/.kimi-code/config.toml, atau dengan variabel KIMI_CODE_DANGEROUS_COMMAND_GUARD=false. Pengembang menyarankan agar hal ini dilakukan hanya di lingkungan yang perintah berbahayanya sudah dicegat secara eksternal.
Cara menetapkan larangan permanen di Kimi Code
Saat agen ingin mengubah sesuatu, Kimi Code menampilkan panel persetujuan:
- Setujui: gunakan tombol panah dan
Enter, atau tekan1,2, atau3secara langsung; - Tolak:
Esc,Ctrl-C, atauCtrl-D; - Setujui untuk sesi ini: panggilan dengan jenis yang sama disetujui hingga sesi berakhir;
- Aturan permanen: aturan izinkan atau tolak permanen di file pengaturan.
Aturan permanen ditulis dalam blok [[permission.rules]] di file pengaturan ~/.kimi-code/config.toml. Kimi Code memeriksanya secara berurutan, dan kecocokan pertama yang berlaku akan diterapkan, jadi tempatkan larangan di atas izin. Setiap aturan memiliki decision: allow (langsung izinkan), deny (langsung tolak), atau ask (selalu bertanya).
Larangan untuk rm -rf dan pertanyaan sebelum perintah terminal lainnya:
[[permission.rules]]
decision = "deny"
pattern = "Bash(rm -rf*)"
[[permission.rules]]
decision = "ask"
pattern = "Bash"
Untuk perintah terminal, pola ditulis di dalam tanda kurung: Bash(command-pattern); untuk membaca file, Read(path-pattern). Alat MCP, AgentSwarm, dan alat Anda sendiri hanya dapat dilarang dengan nama lengkapnya.
Jika Anda tidak paham teknis dan tidak ingin membuka file pengaturan, cukup tempel prompt di bawah ini ke agen: agen akan mencari sendiri apa yang perlu dibatasi. Minta agen memberi tahu Anda terlebih dahulu seberapa besar hal ini akan memperlambat pekerjaan Anda. Jika Anda terbiasa bekerja tanpa konfirmasi, beberapa hal akan berhenti berfungsi setelah Anda menambahkan larangan. Berikut prompt saya:
Analyze my project and tell me whether you have access to the production server, the staging database and production keys. If you do, configure protection against dangerous commands: prohibit deleting entire folders, commands that irreversibly rewrite the change history, and direct commands to the production database. First show a plan in the format “before - after” and honestly tell me how much this will slow me down.
Saya membahas cara mengonfigurasi hal yang sama di Claude Code dalam artikel terpisah. Lihat juga cara mode Auto di Claude Code memeriksa tindakan agen.
Mode mana yang sebaiknya dipilih
- Anda ingin melihat setiap langkah yang diambil agen: Always Ask, mode default. Anda mengonfirmasi semuanya kecuali pembacaan.
- Proyek pribadi atau prototipe tanpa pelanggan sungguhan: mulailah dengan Always Ask atau Ask When Needed. Pertimbangkan Never Ask hanya untuk salinan terisolasi yang dapat dibuang, dengan izin terbatas dan tanpa data atau kunci berharga; mode ini tidak menjadi aman hanya karena proyek tidak memiliki pelanggan.
- Proyek dengan pelanggan sungguhan dan akses server: jangan aktifkan Never Ask. Tetapkan larangan
denydiconfig.tomldan berikan agen akses basis data hanya-baca.
Cadangkan juga basis data di mesin yang terpisah dari proyek. Aturan keselamatan lainnya dikumpulkan dalam artikel terpisah.
Sesuaikan mode konfirmasi dengan izin akses proyek Anda dan periksa bagian mana yang memerlukan larangan.
Sumber
- Kimi Code: Interaction and input — 3 mode izin,
/yolo,/auto, perlindungan terhadap perintah berbahaya di setiap mode, panel persetujuan, mode Plan. - Kimi Code: Configuration files —
[[permission.rules]], urutan pemeriksaan aturan,dangerous_command_guard,KIMI_CODE_DANGEROUS_COMMAND_GUARD, lokasiconfig.toml. - Kimi Code: Changelog — versi 0.40.0, 0.41.0, 0.43.0, dan 2.0.1: perlindungan terhadap perintah berbahaya dan penggantian nama mode.
Kenali Ailoot.
Rincian selengkapnya
Pertanyaan tentang Kimi Code Never Ask: mode dan perintah berbahaya
Apakah Never Ask aman hanya karena proyek saya tidak memiliki pelanggan?
Tidak. Agen tetap dapat merusak file pribadi atau mengekspos kunci. Gunakan izin terbatas, salinan atau kontainer terisolasi yang dapat dibuang, dan cadangan sebelum mempertimbangkan mode tanpa konfirmasi.
Apakah aturan deny untuk rm -rf menggantikan isolasi?
Tidak. Aturan itu memblokir pemanggilan alat yang cocok, bukan setiap cara setara untuk mengubah file. Jauhkan data berharga dan kredensial produksi dari akses agen, dan gunakan identitas basis data terpisah dengan hanya izin yang diperlukan tugas.