Nega AI kod yozuvchi yordamchingiz xavfsizlik teshigi? (Va uni qanday yopish mumkin)

Nega AI kod yozuvchi yordamchingiz xavfsizlik teshigi? (Va uni qanday yopish mumkin)

May 07, 2026 ai security credential management claude code developer security infrastructure hardening threat prevention coding agents

Nega AI kod yozuvchi yordamchingiz xavfsizlik teshigi? (Va buni qanday tuzatish mumkin)

O'tgan haftada tushundimki, bir necha oy davomida AI yordamchim mening kompyuterimda istalgan buyruqlarni bajarib kelgan. U AWS kalitlarim, SSH tugmalarim, shaxsiy GitHub repolarimga va uy papkasimdagi barcha narsalarga kirish huquqiga ega edi. Eng qo'rqinchlisi? Hech qachon bu haqda o'ylamaganman, chunki u juda foydali edi va hali hech narsa yomonlashmagan.

Aynan shu fikr ishlab chiqarish bazalarini o'chirib tashlashga olib keladi.

Qulaylik xavfsizlik tuzog'i

Haqiqat shuki, bugungi AI kod agentlari yuqori darajadagi muhandisga beradigan ruxsatlarga ega. Yangi kontraktorga barcha serverlarga cheksiz SSH bermaymiz, lekin AI ga shu darajadagi imkoniyatni hech o'ylamasdan beramiz.

Muammo yomon niyatda emas. Bu beparvolik. Ular shunchalik yaxshi ishlaydiki, ular nimaga qodirligini unutamiz. Repodan prompt injection, noto'g'ri maqsad yoki oddiy buyruq orqali kalitlar o'g'irlanishi mumkin. Buni sezmay qolasiz.

Yaxshi xabar: Claude Code kabi vositalarda mustahkam xavfsizlik sozlamalari bor. Ko'pchilik ularni yoqishni unutadi.

Standart xavf nima

Ko'p AI agentlar "auto" rejimida ishlaydi. Bu shuni anglatadiki, bloklangan narsalardan tashqari buyruqlarni so'ramay bajaradi. Tezdek tuyuladi, lekin haqiqatda:

Agar deny ro'yxati bo'sh bo'lsa, AI quyidagilarni erkin qiladi:

  • curl bilan istalgan joyga murojaat
  • wget bilan fayllar yuklab olish
  • ssh bilan masofaviy serverlarga ulanish
  • nc bilan tarmoq bog'lanishlari
  • Loyihadaki barcha .env fayllarni o'qish
  • ~/.aws/credentials, ~/.ssh/keys, ~/.gnupg papkalariga kirish
  • Kodlarni to'g'ridan-to'g'ri repoga yuborish

Bular jimjit bajariladi. Hech bildirishnoma yo'q.

Uch qatlamli xavfsizlik qurilishi

Granular nazorat kerak. Hamma narsani tasdiqlash shart emas, lekin muayyan harakatlar albatta. Mana qanday:

1-qatlam: Qattiq bloklash

Kalitlar bilan bog'liq narsalarni bloklang:

{
  "deny": [
    "Read(~/.ssh/**)",
    "Read(~/.aws/**)",
    "Read(~/.gnupg/**)",
    "Read(~/.azure/**)",
    "Read(~/.kube/**)",
    "Read(~/.npmrc)",
    "Read(~/.git-credentials)",
    "Read(*.env)",
    "Read(.env.*)",
    "Bash(curl *)",
    "Bash(wget *)",
    "Bash(nc *)",
    "Bash(ssh *)"
  ]
}

Bu devor kabi. Hech narsa o'tmaydi.

2-qatlam: Tasdiqlash nuqtasi

Qaytariladigan, lekin xavfli harakatlarni tasdiqlang:

{
  "ask": [
    "Bash(git push *)",
    "Bash(git commit *)",
    "Bash(git merge *)",
    "Bash(git reset *)",
    "Bash(npm publish *)",
    "Bash(docker push *)"
  ]
}

AI ga kerakli ishlar, lekin oldindan ko'rsating. Tezlik saqlanadi, xato yo'q.

3-qatlam: Erkin yo'l

Xavfsiz operatsiyalarni ruxsat bering:

{
  "allow": [
    "Bash(npm run *)",
    "Bash(git status *)",
    "Bash(git diff *)",
    "Bash(git log *)",
    "Bash(ls *)",
    "Read(src/**)",
    "Read(tests/**)"
  ]
}

Bular o'zgartirishsiz yoki xavfsiz.

Standart rejim tanlovi

Ro'yxatlarni sozlaganingizdan keyin default rejimni tanlang. Uch variant:

  1. auto - Bloklanmaganlar jim bajariladi. Tez, lekin deny to'liq bo'lishi shart.

  2. acceptEdits - O'qish va tahrirlash erkin, bash buyruqlari uchun so'raydi. Muvozanatli.

  3. ask - Har xavfli narsani so'raydi. Eng sekin, lekin eng xavfsiz.

Jamoalar uchun acceptEdits yaxshi. Ish samaradorligi va qarorlar saqlanadi.

Haqiqiy sozlama misoli

Ishlab chiqarishga tayyor konfiguratsiya:

{
  "permissions": {
    "deny": [
      "Read(~/.ssh/**)",
      "Read(~/.aws/**)",
      "Read(~/.gnupg/**)",
      "Read(~/.azure/**)",
      "Read(~/.kube/**)",
      "Read(~/.npmrc)",
      "Read(~/.git-credentials)",
      "Read(~/.config/gh/**)",
      "Read(*.env)",
      "Read(.env.*)",
      "Bash(curl *)",
      "Bash(wget *)",
      "Bash(nc *)",
      "Bash(ssh *)"
    ],
    "ask": [
      "Bash(git push *)",
      "Bash(git commit *)",
      "Bash(npm publish *)",
      "Bash(docker push *)"
    ],
    "allow": [
      "Bash(npm run *)",
      "Bash(npm install *)",
      "Bash(npm test *)",
      "Bash(git status *)",
      "Bash(git diff *)",
      "Bash(git log *)"
    ],
    "defaultMode": "acceptEdits"
  }
}

AI test, linting va kod tushunishda yordam beradi. Kalit o'g'irlash, kod yuborish yoki server ulanishi mumkin emas.

Ikki holat uchun ikki yondashuv

Men ikkita alias ishlataman:

# Oddiy: muvozanatli xavfsizlik
alias cc="claude --permission-mode auto"

# Debug: to'liq ishonch (kamdan-kam)
alias ccd="claude --permission-mode dangerously-skip-permissions"

95% cc bilan ishlayman. ccd faqat tez kerak bo'lganda, xavfni bilib.

Sohadagi umumiy muammo

Bu faqat Claude Code emas. GitHub Copilot, Devin, Cursor, ChatGPT – barcha shell bajaruvchi AI larda shu xavf bor.

Claude Code granular boshqaruv beradi. Boshqalar to'liq ishonch yoki ishlatmaslikni talab qiladi.

Infratuzilmangiz uchun nimasi muhim

Jamoada AI ishlatganda, bu jiddiy. Dasturchilar o'ylamaydi.

Qiling:

  • Jamoaviy deny ro'yxatini majburiy qiling
  • Kalit fayllarni fayl tizimida bloklang
  • Vaqtinchalik tokenlar ishlating
  • Tarmoqdan ma'lumot chiqishini oldini oling
  • Jamoani xavf va samaradorlik farqini o'rgating

Xulosa

AI kod yordamchilari kuchli va foydali. Lekin bepul emas. Xavfsizlik sozlamalari bor – ishlating.

Bugun boshlang. 15 daqiqa sarflang: deny kalitlarga, ask deployga, default rejim tanlang. Keyin tinch ishlay olasiz.

"Hali yomonlik bo'lmagan" – xavfsizlik strategiyasi emas.

Read in other languages:

RU BG EL CS TR SV FI RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN