Nega AI yozgan kodni inson ko‘zdan o‘tkazishi kerak? Bu yaxshi!

Nega AI yozgan kodni inson ko‘zdan o‘tkazishi kerak? Bu yaxshi!

May 11, 2026 ai development application security code review best practices owasp vulnerabilities vibe coding authorization bugs secure coding devops technical debt

Nega AI yozgan kodni inson ko‘rib chiqishi kerak? (Va bu normal holat)

Dasturlash olamida qiziqarli davr boshlandi. Claude, ChatGPT kabi vositalar yoki maxsus IDElar tufayli g‘oyadan ishlaydigan kodgacha kunlar ichida yetib borasiz. Fikr aytasiz, o‘zgarishlarni qabul qilasiz, takomillashtirasiz va joylashtirasiz. Bu haqiqatan tezlikni oshiradi.

Lekin bir muammo bor.

Yaqinda shunday usulda yozilgan kodni ko‘rib chiqdim. Oddiy ichki vosita, muhim emas, lekin 2024-yilda ko‘pchilik shunday ishlayotganiga o‘xshaydi. AI "xato qildi" degani emas. Oddiyroq muammo: 28 ta xato topdim, ko‘pi xavfsizlik bilan bog‘liq. Bu OWASP Top 10 ro‘yxatidagi klassik zaifliklar, 2000-yillardan beri ma’lum.

Bu AI xavfli degani emas. Bu tez feature qurish struktural fikrlashdan o‘tib ketishi haqida.

Muammo AI emas, so‘ramagan savollaringizda

Ko‘rib chiqqan kod yaxshi edi. Arxitektura mantiqiy, qismlar joyida, kutubxonalar to‘g‘ri. O‘zim dam olish kunida yozgan bo‘lsam, farq sezilmasdi.

Farq "meta" qismida. Kod yozishdan oldingi savollar.

AI siz aytganini bajara oladi. "Foydalanuvchi boshqaruvi qur" desangiz, quradi. Lekin o‘zi so‘ramaydi: Kim kirishi mumkin? Qaysi ma’lumotlar maxfiy? Autentifikatsiya qayerda? Frontendni chetlab o‘tsa nima bo‘ladi?

AI feature beradi. Xavfsiz uyqu uchun strukturasini emas.

Misol: Himoyasiz admin funksiyasi

Tasavvur qiling: Serverless funksiya admin ishlarini qiladi – foydalanuvchi yaratish, parol o‘zgartirish, o‘chirish. Kuchli kalitlarni serverda saqlash to‘g‘ri qaror.

Lekin funksiyada autentifikatsiya tekshiruvi yo‘qdi.

Zaif emas, noto‘g‘ri emas – umuman yo‘q. DevTools ochib, URL topib, POST yuborsa, kimdir admin akkaunt yasashi, parollarni o‘zgartirishi mumkin.

Frontendda admin tugmasini yashirish uchun ruxsat tekshiruvi bor edi. Xavfsiz tuyulardi. Lekin bu UI orqali xavfsizlik – illuziya.

Bu 2003-yildan beri ma’lum authorization bypass. AI nima uchun ogohlantirmadi? Prompt shu edi: "Admin uchun foydalanuvchi yaratadigan funksiya qur". U shuni qildi. "Adminsiz ham qilmasligini" aytmaganingiz uchun qildi.

Asosiy nuqta: AI unutilgan savollarni bilmaydi.

Qog‘ozda xavfsiz bo‘lgan baza

Baza row-level security (RLS) qo‘llab-quvvatlaydi. Foydalanuvchi kimligiga qarab qatorlarni cheklaydi. Frontendda API kalit yuborilsa, yaxshi model.

AIga "ko‘p foydalanuvchili qo‘llab-quvvatlash qo‘sh" dedilar. U yangi jadvallar uchun RLSli migratsiya yozdi. Ajoyib.

Lekin eski 5 ta jadvallar – asosiy biznes ma’lumotlari – tegilmasdi. RLS yoqilganmi, yo‘qmi – tekshirmadi, yoqdi, aytmadi.

Yangi infrada npm run db:push qilsangiz, yangilar qulflangan, eskilar ochiq qoladi. Internet va API URL bilsa, hamma kiradi.

AI noto‘g‘ri emas edi. Faqat to‘liqsiz. Tor muammoni hal qildi (yangi auth jadvallariga RLS), umumiy taxminni (hammasini xavfsiz qilmoqchimisiz?) aytmadi.

Sizning dasturlash jarayoningizga ta’siri

Bu AIga qarshi emas. Tezlik muhim. Lekin tajribali mutaxassislar arxitekturani ko‘rib chiqishi shart – sintaksis emas.

Nima ishlaydi:

Qurishdan oldin xavfsizlik chek-listi yarating. Endpointni kim chaqiradi? Ruxsatsiz chaqirsa nima? Ma’lumotlar hammaga ochiqmi? Har jadvalga RLS kerakmi? Bularni yozing, kod reviewda topmang.

Katta mutaxassislar threat modeling yapsin, satr bo‘yicha emas. Topilgan 28 xato stil emas, arxitektura xatosi. AI kod bersin, inson xavfsizlik haqida o‘ylasin.

Promptlarda autentifikatsiya va avtorizatsiyani aniq ayting. "Foydalanuvchi endpointi qur" o‘rniga: "Faqat login qilgan admin kiradigan endpoint qur, autentifikatsiya taxminlaringni yoz". AI fikrini ko‘rsatadi.

Funksionallikdan alohida avtorizatsiya testlang. Autentifikatsiyasiz foydalanuvchilar qila olmasligini tekshiring, faqat qila olishini emas.

Tushunish kerak bo‘lgan naqsh

AI xavfli kod yozmaydi. U siz aytganini mukammal bajaradi, unutilganini ogohlantirmaydi.

Bu xususiyat, xato emas – talablaringizni o‘ylab topmasin. Lekin mas’uliyat sizga o‘tadi. AI xavfsizlikni o‘ylamaydi, sizning dizaynni bajaradi.

Ko‘rib chiqqan kodga inson "endpointga autentifikatsiya kerak" dedi. Tuzatish daqiqalar oldi. 20 yillik zaiflik 2024 jarayoniga duch keldi – jarayon g‘alaba qozondi, chunki tajribali ko‘z kuzatdi.

Kelgusi yillarda model shu: AI tezlik uchun, inson arxitektura uchun. Ikkalasi ham zarur.


Kodingizda bunday xatolardan qochmoqchimisiz? NameOcean ko‘p startaplarda tez featurelar sabab texnik qarz ko‘payganini ko‘rdi. Bizning cloud hosting platformamiz noto‘g‘ri ish qilishni qiyinlashtiradi – o‘rnatilgan rate limiting, API kalit boshqaruvi, audit loglari. Promptda so‘ramasangiz ham ishlaydi. Tez ship qilayotgan jamoangizga bir muammo kam.

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