Blog

Kimi Code Never Ask: rejimlar va xavfli buyruqlar

Markdown

Never Ask rejimida Kimi Code rm -rf va shutdown buyruqlarini so‘ramasdan bajaradi. 3 ta rejimning farqi nimada va config.toml faylida xavfli buyruqni qanday taqiqlash mumkin?

Maqolani to‘liq o‘qish

Kimi Code’da Never Ask rejimi (/auto) hamma narsani avtomatik tasdiqlaydi: u rm -rf, shutdown va reboot buyruqlarini biror marta ham so‘ramasdan bajaradi. Agent bu buyruqlardan oldin faqat boshqa 2 rejimda — Always Ask va Ask When Needed rejimlarida — so‘raydi.

Men o‘zim Claude Code’da “hammasiga ruxsat berish” rejimida ishlayman; bo‘lmasa, ha, ha, ha deb bosib o‘tirardik. Lekin har 10-martada agent ishni o‘zicha qiladi.

Shaxsiy prototipda ham qimmatli fayl va credential’lar ochilishi mumkin. Tor ruxsatli ajratilgan nusxa yoki konteyner va tekshirilgan zaxiradan foydalaning. Mijoz tizimida agentga faqat kerakli kirishli alohida baza identity’sini ham bering. Shunda u ma’lumotlar bazasini o‘chirishni juda xohlasa ham, buni qila olmaydi.

Keling, har bir Kimi Code rejimi nima qilishini, himoya qayerda ishlashini va taqiqni qanday sozlashni ko‘rib chiqamiz. Boshladik.

Xizmatdan foydalanish haqida ma’lumot uchun Ailoot hujjatlariga qarang.

Asosiy xulosa

Kimi Code’da 3 ta rejim bor. Always Ask — standart rejim: o‘qish avtomatik bajariladi, qolgan hamma narsani esa har bir amal uchun alohida tasdiqlaysiz. Ask When Needed (/yolo) oddiy tahrirlarni o‘zi tasdiqlaydi, lekin kalitlar saqlangan fayllarga kirish, xavfli buyruqlarni bajarish yoki rejalash rejimidan chiqishdan oldin so‘raydi. Never Ask (/auto) hech narsa so‘ramaydi va unda xavfli buyruqlardan himoya ishlamaydi. Doimiy taqiqni ~/.kimi-code/config.toml faylidagi deny qoidasi bilan o‘rnatasiz, ishlab turgan ma’lumotlar bazasi yonida Never Ask rejimini yoqmagan ma’qul.

Kimi Code’ning 3 ta rejimi nimasi bilan farq qiladi?

Agar Kimi Code’ni allaqachon o‘rnatgan bo‘lsangiz, tasdiqlash panelini ko‘rgansiz: agent faylni tahrirlash yoki buyruqni bajarishni xohlaydi va sizning “ha” deyishingizni kutadi. Rejimlar avval Manual, YOLO va Auto deb atalgan, shu sababli ular hanuz eski buyruqlardan foydalanadi: /yolo va /auto.

Always Ask. Standart rejim. Agent fayllarni so‘ramasdan o‘qiydi, lekin har bir tahrir va har bir buyruqni alohida tasdiqlaysiz. Bu eng sekin rejim.

Ask When Needed. /yolo bilan yoqiladi. Oddiy tahrirlar va buyruqlarni o‘zi tasdiqlaydi, lekin .env (loyihaning parol va kalitlari saqlangan fayl) hamda serverning SSH kalitlariga kirishdan oldin, shutdown (kompyuterni o‘chirish) va rm -rf (butun papkani axlat qutisiga yubormasdan o‘chirish) kabi xavfli buyruqlarni bajarishdan oldin va rejalash rejimidan chiqishdan oldin so‘raydi. Agentning o‘zi ham sizga savol berishi mumkin.

Never Ask. /auto bilan yoqiladi. Nozik fayllar va rejalash rejimidan chiqish uchun beriladigan ruxsatlar ham qo‘shib, barcha ruxsatlar avtomatik tasdiqlanadi. Agent sizga savol bermaydi va hamma narsani o‘zi hal qiladi.

Kimi Code’ning uchta ruxsat rejimi jadvali: Always Ask, Ask When Needed, Never Ask
Kimi Code CLI’da 3 ta ruxsat rejimi.

Rejalash rejimi alohida yoqiladi: Shift-Tab yoki /plan bilan. Agent avval reja yozadi va tasdiqlashingizni kutadi, shundan keyingina fayllarga tegadi.

O‘zim tasdiqlarsiz ishlaganimda

Claude Code’da “hammasiga ruxsat berish” mening standart sozlamam, u har bir yangi chatda yoqilgan bo‘ladi. Busiz vibe coding juda sekin. Vibe coderning o‘zi ham juda kam narsani tushunadi, ustiga-ustak tugmalarni bosaverishi kerak: ha, ha, ha, yo‘q, yo‘q, yo‘q.

Lekin bu rejimda agent mutlaqo istalgan xavfli ishni, jumladan ma’lumotlar bazasini yo‘q qilishni ham qilishi mumkin. Keyin “kechirasiz, uzr” deydi, ammo ba’zida qilgan ishini endi tuzatib bo‘lmaydi. Shuning uchun bu rejim qo‘rqmaydiganlar uchun, mas’uliyat esa sizning zimmangizda.

Mening qoidalarim shunday. Shaxsiy loyiha, tajriba va prototipda tasdiqsiz rejimni faqat qimmatli fayl yoki production credential’siz, tor ruxsat va zaxirali ajratilgan nusxa yoki konteyner ichida ko‘rib chiqing. Mijoz yo‘qligi shaxsiy fayl va kalitni himoyalamaydi; izolyatsiyani ham tekshirish kerak. Ammo bu rejimni production serveriga kirish huquqi bor o‘sha loyihaning o‘zida yoqsangiz, agent ma’lumotlar bazasini bir kechada o‘chirib, o‘zgarishlarni jonli saytga joylashi uchun 1 ta so‘rov matni kifoya.

Nega so‘z bilan qo‘yilgan taqiq sizni qutqarmaydi

Ko‘pchilik agent ko‘rsatmalariga “ma’lumotlar bazasiga tegma” deb yozadi. Bu sizni qutqaradi deb o‘ylamang. Unga: “Do‘stim, bu yerga kirmagin”, deysiz. Lekin baribir kirib, kerak bo‘lganda kerakli narsani oladi. Ayniqsa, Xitoyning Kimi’si: siz qo‘ygan har qanday taqiqni buzadi. Amerika modellari bunday qilmaslikka ancha yaxshiroq o‘rgatilgan.

Men ishlarimda hali ham Kimi’dan foydalanaman. Kimi K3 juda sinchkov; loyihalarni sizib chiqqan kalitlar bor-yo‘qligiga tekshirish va ma’lumot yig‘ish uchun undan foydalanaman. Bir safar uning barcha limitlarini bir necha kunda tugatib qo‘ydim. Kimi muammo chiqarmaydi va so‘ragan hamma ishingizni bajaradi. Shu sababli u bilan ishlaganda izolyatsiya kerak. Uni o‘z vazifalarimda qanday sinaganimni bu yerda tasvirlaganman.

Sizga 2 xil izolyatsiya kerak:

  1. Sozlamalardagi buyruqlar blok ro‘yxati. Mos vosita chaqiruvlarini to‘sadi. Bitta buyruq yozilishiga andoza boshqa vosita yoki teng amal uchun to‘liq chegara emas. Uni OS, konteyner va baza ruxsatlari bilan birga ishlating.
  2. Ma’lumotlar bazasiga faqat o‘qish huquqi. Jonli ma’lumotlar bazasida agentning faqat o‘qish ruxsatiga ega alohida foydalanuvchisi bo‘ladi. Shunda, hatto Never Ask rejimida ham agent ma’lumotlar bazasini yo‘q qila olmaydi.

Xavfli buyruqlardan himoya qayerda ishlaydi

Kimi Code’ning xavfli buyruqlardan o‘rnatilgan himoyasi sukut bo‘yicha yoqilgan. Always Ask va Ask When Needed rejimlarida shutdown, reboot (qayta ishga tushirish) yoki rm -rf buyrug‘idan oldin tasdiq so‘raydi. Never Ask rejimida esa bu buyruqlar to‘xtamasdan bajariladi.

2 ta istisno bor:

  • rm -rf faqat /tmp yoki /temp vaqtinchalik papkalarining ichidagilarni o‘chirsa, so‘ramasdan bajariladi (0.43.0 versiyasidan boshlab);
  • Ask When Needed rejimida Kimi Code oldindan tahlil qila olmaydigan terminal buyruqlari haqida so‘ramaydi (2.0.1 versiyasidan boshlab).

0.40.0 versiyasida Auto rejimi xavfli buyruqlarni bloklardi; bu blok 0.41.0 versiyasida olib tashlangan.

Oldin/hozir: Kimi Code’ning avtonom rejimi ilgari xavfli buyruqlarni bloklardi, endi esa bunday qilmaydi
0.40.0: Auto xavfli buyruqlarni bloklardi. 0.41.0: blok olib tashlandi.

Himoyani ~/.kimi-code/config.toml sozlamalar faylining [permission] bo‘limidagi dangerous_command_guard = false bilan yoki KIMI_CODE_DANGEROUS_COMMAND_GUARD=false o‘zgaruvchisi orqali o‘chirib qo‘yish mumkin. Ishlab chiquvchilar buni faqat xavfli buyruqlar tashqi tomondan allaqachon ushlab qolinadigan joylarda qilishni tavsiya etadi.

Kimi Code’da doimiy taqiqni qanday sozlash mumkin

Agent biror narsani o‘zgartirmoqchi bo‘lganda, Kimi Code tasdiqlash panelini ko‘rsatadi:

  • Tasdiqlash: strelka tugmalaridan foydalanib, Enter ni bosing yoki to‘g‘ridan-to‘g‘ri 1, 2 yoki 3 ni bosing;
  • Rad etish: Esc, Ctrl-C yoki Ctrl-D;
  • Ushbu seans uchun tasdiqlash: shu turdagi chaqiruv seans oxirigacha tasdiqlanadi;
  • Doimiy qoidalar: sozlamalar faylidagi doimiy ruxsat yoki taqiq qoidasi.

Doimiy qoidalar ~/.kimi-code/config.toml sozlamalar faylida [[permission.rules]] bloklarida yoziladi. Kimi Code ularni tartib bilan tekshiradi va birinchi mos kelgan qoida kuchga kiradi, shuning uchun taqiqlarni ruxsatlardan yuqoriga qo‘ying. Har bir qoidada decision bo‘ladi: allow (darhol ruxsat berish), deny (darhol taqiqlash) yoki ask (har safar so‘rash).

rm -rf ni taqiqlash va boshqa barcha terminal buyruqlaridan oldin so‘rash:

[[permission.rules]]
decision = "deny"
pattern = "Bash(rm -rf*)"

[[permission.rules]]
decision = "ask"
pattern = "Bash"

Terminal buyruqlari uchun namuna qavs ichida yoziladi: Bash(command-pattern); fayllarni o‘qish uchun esa Read(path-pattern). MCP vositalari, AgentSwarm va o‘zingizning vositalaringizni faqat to‘liq nomlari bilan taqiqlash mumkin.

Agar texnik bilimga ega bo‘lmasangiz va sozlamalar faylini ochishni istamasangiz, quyidagi so‘rov matnini agentga ko‘chirib qo‘ying: u o‘zi nimani cheklash kerakligini topadi. Avval bu sizni qanchalik sekinlashtirishini aytishini so‘rang. Tasdiqlarsiz ishlashga o‘rgangan bo‘lsangiz, taqiqlarni qo‘shganingizdan keyin ayrim narsalar ishlamay qoladi. Mana mening so‘rov matnim:

Loyihamni tahlil qiling va production server, staging ma’lumotlar bazasi hamda production kalitlariga kirish imkoningiz bor-yo‘qligini ayting. Agar bo‘lsa, xavfli buyruqlardan himoyani sozlang: butun papkalarni o‘chirishni, o‘zgarishlar tarixini qaytarib bo‘lmaydigan tarzda qayta yozadigan buyruqlarni va production ma’lumotlar bazasiga bevosita buyruqlarni taqiqlang. Avval “oldin - keyin” formatida reja ko‘rsating va bu ishni qanchalik sekinlashtirishini ochiq ayting.

Claude Code’da xuddi shu narsani qanday sozlashni alohida maqolada yoritganman. Shuningdek, Claude Code’dagi Auto rejimi agent harakatlarini qanday tekshirishi haqidagi maqolani ham ko‘rib chiqing.

Qaysi rejimni tanlash kerak

  • Agentning har bir qadamini ko‘rmoqchisiz: Always Ask, standart rejim. O‘qishdan tashqari hamma narsani tasdiqlaysiz.
  • Haqiqiy mijozsiz shaxsiy loyiha yoki prototip: Always Ask yoki Ask When Needed’dan boshlang. Never Ask’ni faqat qimmatli ma’lumot va kalitsiz, tor ruxsatli, tashlab yuboriladigan ajratilgan nusxada ko‘rib chiqing. Mijoz yo‘qligi o‘z-o‘zidan xavfsizlik bermaydi.
  • Haqiqiy mijozlari va serverga kirish huquqi bor loyiha: Never Ask rejimini yoqmang. config.toml da deny taqiqlarini o‘rnating va agentga ma’lumotlar bazasiga faqat o‘qish huquqini bering.

Ma’lumotlar bazasining zaxira nusxasini loyihadan alohida mashinada ham saqlang. Boshqa xavfsizlik qoidalari alohida maqolada jamlangan.

Tasdiqlash rejimini loyihangizning kirish ruxsatlariga moslang va taqiqlar qayerda kerakligini tekshiring.

Manbalar

Ailoot bilan tanishing.

Batafsil

Ko‘p beriladigan savollar

Loyihamda mijoz yo‘qligi Never Ask’ni xavfsiz qiladimi?

Yo‘q. Agent shaxsiy faylga zarar yetkazishi yoki kalitni oshkor qilishi mumkin. Tasdiqsiz rejimdan oldin tor ruxsatlar, ajratilgan tashlab yuboriladigan nusxa yoki konteyner va zaxira qo‘llang.

rm -rf uchun deny qoida izolyatsiya o‘rnini bosadimi?

Yo‘q. U mos chaqiruvlarni to‘sadi, fayl o‘zgartirishning barcha teng yo‘llarini emas. Qimmatli ma’lumot va production credential’larni agentdan tashqarida tuting, bazaga vazifaga zarur ruxsatli alohida identity bering.

Barcha maqolalar