Хөгжүүлэгч IDE-г нээж, юу хүсч байгаагаа энгийн англи хэлээр тайлбарлаад, хиймэл оюун ухааны агент кофе авахад шаардагдах хугацаанд функцийг бичиж байгааг хардаг. Энэ нь хөрвүүлдэг. Энэ нь гарын авлагын товшилтыг дамжуулдаг. Энэ нь илгээгддэг. Хэн ч аюулгүй эсэхийг асуугаагүй, учир нь хэн ч юу ч асуугаагүй. Уг хүсэлтийг сольсон. pull request, мөн "Би үүнийг хянаж үзсэн" гэдэг үгийг "ажилладаг" гэж сольсон. Энэ бол vibe кодчилол бөгөөд одоо захын зуршил биш болсон. Энэ бол үйлдвэрлэлийн кодын өсөн нэмэгдэж буй хувийг зөвхөн амралтын өдрүүдийн аппликейшн дээр туршилт хийж буй хоббичид бус мэргэжлийн багууд хэрхэн бичдэг вэ гэдэг юм. Чухам ийм учраас vibe кодчилолын аюулгүй байдал нь инженерчлэл, аюулгүй байдлын удирдагчид нэр өгсөн эсэхээс үл хамааран бүх хүмүүсийн ярианы сэдэв болсон юм.
"Vibe coding" гэдэг нь үнэндээ юу гэсэн үг вэ
Виб кодчилол гэдэг нь хүн хүссэн үр дүнг байгалийн хэлээр дүрсэлдэг програм хангамжийн хөгжүүлэлт бөгөөд хиймэл оюун ухааны загвар буюу түүн дээр суурилсан агент нь ажлын кодыг үүсгэдэг. Хүн үр дүнгээр удирддаг ("... бүтээх"). login "flow," "CSV экспорт нэмэх") гэх мэтчилэн бичгээр эсвэл мөр мөрөөр нь хянаж хэрэгжүүлсний оронд ашигласан. Энэ нэр томьёо нь бодит зүйлийг илэрхийлдэг тул алдартай болсон: хөгжүүлэгч кодыг өөрөө уншихад биш харин гаралт зөв гэсэн мэдрэмжийг төрүүлдэг.
Энэ өөрчлөлт бол бүхэл бүтэн түүх юм. Код хянах нь програм хангамж хэрхэн бичигдсэнийг шалгах цэг байсан. Vibe кодчилол нь үүнийг дизайны дагуу тойрон явдаг. Хурд нэмэгддэг. "Энэ үнэндээ юу хийдэг вэ?" гэж асуух зуршил буурдаг.
Яагаад "энэ нь ажилладаг" гэдэг нь буруу мөр юм
"Энэ нь ажилладаг" гэдэг нь туршиж үзсэн хувилбарт код нь асуусан зүйлийг хийсэн гэсэн үг юм. Хэний ч асуугаагүй хувилбаруудад код юу хийдэг талаар юу ч хэлдэггүй: буруу хэлбэртэй оролт, хэт их итгэдэг төгсгөлийн цэгийг шалгаж буй баталгаажсан хэрэглэгч, хэзээ ч шалгагдаагүй хамаарал, ил харагдахуйц хатуу кодлогдсон нууц. Энэ бол хэн нэгэн асуудал байгааг анзаарахаас өмнө vibe кодчилолын аюулгүй байдал эвдэрдэг газар юм.
Хиймэл оюун ухааны кодчилолын загваруудыг мөрийн зорилгод нийцсэн функциональ гаралтыг бий болгоход сургасан байдаг. Аюулгүй байдал нь зорилтот функц биш юм. "Энэ нь хүсэлтийг хангадаг" гэж оновчлох загвар нь параметрийн оронд мөрийн холбоосоор бүтээгдсэн асуулга, мөрөнд хэн хандах ёсгүйг хэзээ ч дурдаагүй тул хандалтын хяналтгүй төгсгөлийн цэг, эсвэл баталгаажуулах ёстой хариултад итгэдэг API дуудлага үүсгэх болно. Энэ нь эмхэтгэдэг. Энэ нь ажилладаг. Энэ нь мөн AppSec багууд хөгжүүлэгчдийг арван жилийн турш сургаж байсан эмзэг байдлын ангиллуудыг танилцуулдаг бөгөөд энэ нь ямар ч гарын авлагын хяналтын процессыг тохируулж бүтээгээгүй хурдаар бий болдог.
Хиймэл оюун ухаанаар үүсгэгдсэн кодын дотоод судалгаа нь бодит тоонуудыг зөн совингийн ард тавьдаг: агент код бичих хэрэгслүүдийн гаргаж буй зүйлийн чухал хэсэг нь ямар нэгэн хяналт шалгалт хийхээс өмнө эхний дамжуулалт дээр ашиглагдах боломжтой аюулгүй байдлын алдаа агуулдаг. Энэ нь нэг загварт байдаг алдаа биш юм. Энэ нь "тогтвортой" биш, харин "ажиллаж байна" гэж оновчлохын хүлээгдэж буй үр дүн бөгөөд энэ нь vibe код бичих аюулгүй байдлын хаах ёстой яг тодорхой зай юм.
Эрсдэлийн гадаргуу нь кодоос өөрөөсөө өргөн юм
Виб кодчилол аюулгүй байдлыг ихэвчлэн дараах байдлаар тодорхойлдог кодын чанарын асуудал, гэхдээ өртөлт бүхэл бүтэн ажлын урсгалаар дамждаг агент зөвхөн функцэд төдийгүй хүрдэг бичсэн:
| Vibe код бичих аюулгүй байдлын гол эрсдэлүүд | Энэ нь юу гэсэн үг вэ | Болзошгүй нөлөөлөл |
|---|---|---|
| Аюултай кодын хэв маяг ба логикийн алдаанууд | Энэ загвар нь дараах эмзэг хэв маягаас суралцсан: оролтын баталгаажуулалт дутуу, крипто сул, аюулгүй бус цуваажуулалт | OWASP-ийн шилдэг 10 эмзэг байдал илрээгүй үйлдвэрлэлд хүрч байна |
| Ил болсон нууц болон мэдрэмтгий мэдээлэл | Үүсгэсэн код нь API түлхүүр, жетон эсвэл итгэмжлэлийг орлуулагч синтакс мэт хатуу кодчилдог | Итгэмжлэлийн хулгай, хажуугийн хөдөлгөөн, өгөгдлийн алдагдал |
| Эмзэг эсвэл хий үзэгдэлтэй хамаарал | Агент нь мэдэгдэж буй CVE-тэй багцыг сонгох эсвэл хараахан байхгүй багцыг нэрлэх бөгөөд халдагчид үүнийг эхлээд бүртгэдэг. | Хортой эсвэл сул багцуудаар дамжуулан нийлүүлэлтийн сүлжээнд халдах |
| Сул баталгаажуулалт болон хандалтын хяналт | Хэн хандах эрхгүй байх ёстойг хэзээ ч заагаагүй тул баталгаажуулалт болон зөвшөөрлийн логик нь аюултай анхдагч тохиргоотой ирдэг. | Бүртгэлийг булаан авах, зөвшөөрөлгүй мэдээлэлд хандах |
| Хэт их агентын зөвшөөрөл ба хязгаарлагдмал хяналт | Код бичих агентууд нь өргөн хүрээний репозитор, суулгалт эсвэл гүйцэтгэлийн хандалттай, хүний шалгах цэг багатай ажилладаг | Санамсаргүй өөрчлөлтүүд, өгөгдлийн илрэл, хяналтгүй эрсдэл |
| Тохиргоо болон дүрмийн файлуудаар дамжуулан зааварчилгаа хулгайлах | Ур чадварын файлууд, дүрмийн файлууд болон MCP тохиргоог баримтжуулалтын нэгэн адил хянадаг боловч агентын юу хийдгийг чимээгүйхэн дахин чиглүүлж чаддаг | Агентууд халдагчийн хяналттай зааврыг кодын өөрчлөлтгүйгээр өөр өөр нөхцөлд гарч ирэхгүйгээр гүйцэтгэдэг. |
| Сул буюу удамшсан тохиргоо | Алдааны горимууд, зөвшөөрөгдсөн CORS, дэлгэрэнгүй алдааны мэдэгдэл, хэн ч санаатайгаар сонгоогүй анхдагч тохиргоонууд | Мэдээллийн задрал, халдлагын гадаргууг өргөжүүлэх |
| Сүүдрийн хиймэл оюун ухааны хэрэглээ | Хөгжүүлэгчид батлагдсан эсвэл бүртгэлтэй жагсаалтаас гадуур код бичих туслах, MCP сервер эсвэл агентын хэрэгслийг ашигладаг | Кодын баазад юу хүрч байгааг харах боломжгүй, үүнийг удирдах арга байхгүй |
| Алгассан эсвэл Резинэн Тамганы Тойм | Дээр дурдсан бүхний цаана байгаа үндсэн шалтгаан: "энэ нь ажилладаг" гэдэг нь баталгаа болж хүлээн зөвшөөрөгддөг тул эдгээр асуудлыг илрүүлдэг байсан хяналтын цэг хэзээ ч ажилладаггүй. | Дээрх бүх эрсдэл үйлдвэрлэлд ямар нэгэн зүйл эвдэртэл чимээгүйхэн үүсдэг |
Уламжлалт AppSec хэрэгслүүд яагаад энд хоцорч байна вэ?
Ихэнх програмын аюулгүй байдлын хэрэгслүүд нь хэмнэлийн дагуу бүтээгдсэн: код бичигдэж, дараа нь CI эсвэл PR дээр сканнерддаг. Энэ хэмнэл нь сканнерыг чиглүүлэх тогтвортой, хүний зохиосон эд өлгийн зүйл байгаа бөгөөд өөрчлөлтийн хэмжээ нь ямар нэгэн зүйл гэж үздэг. pipeline санаатайгаар хянаж болно.
Чичиргээ кодлох нь цаг хугацааг эвддэг бөгөөд энэ хугацааны зөрүү нь чичиргээ кодлох аюулгүй байдлын асуудлын гол цөм юм. Код нь IDE дотор хэдхэн секундын дотор өөрчлөгддөг бөгөөд ихэвчлэн тодорхой хэмжээнд хүрэхээсээ өмнө өөрчлөгддөг. pull requestЗөвхөн CI дээр ажилладаг сканнер нь аюултай загвар аль хэдийн нэгтгэгдсэний дараа асуудлыг илрүүлдэг бөгөөд энэ нь хэн нэгний бүтээж буй дараагийн функцын нэг хэсэг юм. Мөн хиймэл оюун ухаанаар үүсгэгдсэн кодыг бусад кодтой адил боловсруулдаг сканнер нь түүнийг хэрхэн бичсэнтэй холбоотой эрсдэлийн хэсгүүдийг алддаг: агент үүнийг зөвтгөхийг хүсээгүй сонгосон багц, хүн ялгааг харахаас өмнө агентад юу хийхийг зааж өгсөн зааврын файл.
Үнэндээ юу нь цоорхойг хаадаг вэ
Үүнээс түрүүлж буй байгууллагууд vibe код бичих ажлыг удаашруулахгүй байна. Тэд ажлын урсгалд жинхэнэ vibe код бичих аюулгүй байдлыг бий болгож байна: шалгах цэгийг код бичигдсэн газар руу буцааж зөөж, хиймэл оюун ухаанаар үүсгэгдсэн кодыг өөрөөр батлагдах хүртэл найдваргүй оролт гэж үзэж байна:
- Зөвхөн CI дотор биш, харин IDE дотор сканнердах. Агент функцийг үүсгэж байх үед аюултай хэв маягийг илрүүлэх нь гурван нэмэлт функц хамааралтай болсны дараа илрүүлэхээс өөр асуудал юм.
- Агентын танилцуулсан хамаарал бүрийг баталгаажуулна уу, хөгжүүлэгчийн гараар бичсэнийг суулгахаас өмнө баталгаажуулдагтай адил.
- Агентын уншдаг тохиргооны файлуудыг баримт бичиг биш код гэж үзэх. Дүрмийн файлууд, ур чадварын файлууд болон MCP серверийн тохиргоонууд нь агентын юу хийдгийг өөрчлөх заавруудыг агуулж болох бөгөөд тэдгээр нь агентын үүсгэсэн кодтой адил нягт нямбай шалгалт хийх ёстой.
- Зөвхөн тугийг ч биш, хүнийг ч гэсэн засварын талаар мэдээлэлтэй байлгаарай. Зүгээр л дүрмийг идэвхжүүлсэн гэдгийг нь биш, харин ямар нэгэн зүйл яагаад ашиглагдаж болохыг харж чаддаг хөгжүүлэгч дараагийн удаа өөрөөр асууж, хянаж сурдаг.
- "Энэ ажилладаг" гэдэг нь хэзээ ч аюулгүй байдлын хаалт байгаагүй гэж үзье, мөн бодит мөрийг санах ойд үлдээхийн оронд ажлын урсгалд харагдахуйц болгоно.
Xygeni хаана тохирно
Энэ бол яг оёдол юм Xygeni-ийн DevAI хаах зорилгоор бүтээгдсэн. DevAI нь IDE дотор тасралтгүй аюулгүй байдлын давхарга хэлбэрээр ажилладаг бөгөөд хүний бичсэн болон хиймэл оюун ухаанаар үүсгэгдсэн кодыг бүтээх явцад нь хянадаг бөгөөд код нь ...-д орсны дараа биш. pull requestЭнэ нь тушаал хүлээхгүй: ашиглагдаж болох хэв маягийг тэмдэглэж, жинхэнэ халдлагын замыг энгийн хэлээр тайлбарлаж, хөгжүүлэгч урсгалаасаа гаралгүйгээр хянаж, хэрэгжүүлж болох засварыг санал болгодог. Нийлүүлэлтийн сүлжээний тал дээр, MEW (Хортой програм хангамжийн эрт анхааруулга) Гарын үсэг үүсэхээс өмнө хортой багцуудыг барьдаг бөгөөд энэ нь энд шууд чухал юм, учир нь агент таны өмнөөс хамаарлыг сонгох нь яг л эвдэрсэн эсвэл эвдэрсэн багц орж ирэх мөч юм.
Хоёулангийнх нь доор CoreAI нь кодын сан, хамаарлууд болон бусад зүйлсийн хоорондын хамаарлыг харуулдаг. pipeline нэг тэргүүлэх эрсдэлийн үзэл бодолд оруулах бөгөөд энэ үзэл бодол нь үүгээр хязгаарлагдахгүй Xygeni's өөрийн сканнерууд. Энэ нь адилхан хамаарна Хиймэл оюун ухааны ангилалт, тайлбар болон нөхөн сэргээх аль хэдийн байгаа бусад сканнерын үр дүнгүүд рүү шилжих тул vibe кодчиллыг аюулгүй болгох нь аль хэдийн ажиллаж байгаа стекийг устгах гэсэн үг биш юм. Энэ нь кодыг одоо бичиж байгаа хурдаар хөдөлгөдөг давхарга тавих гэсэн үг юм.
тусламж
Виб кодчилол нь угаасаа аюулгүй бус уу?
Үгүй. Vibe кодчилол нь эмзэг байдал биш, хөгжүүлэлтийн арга юм. Эрсдэл нь код бичихдээ хиймэл оюун ухаан ашигласнаас бус, харин аюулгүй бус хэв маягийг илрүүлэхэд ашигладаг байсан хяналтын алхамыг алгасахаас үүдэлтэй юм. Тийм ч учраас vibe кодчилолын аюулгүй байдал нь ажлын урсгалын сахилга бат бөгөөд энэ дадлаас зайлсхийх шалтгаан биш юм.
Байгаа байж болох уу SAST or SCA хэрэгслүүд vibe кодчилолын аюулгүй байдлын эрсдэлийг илрүүлдэг үү?
Тэд заримыг нь барьж авдаг ч ихэвчлэн код аль хэдийн нэгтгэгдсэний дараа байдаг, учир нь ихэнх нь код үүсгэгдсэн IDE дотор биш харин CI дотор ажилладаг. Тэд мөн хиймэл оюун ухааны агентын сонгосон багцууд эсвэл уншсан тохиргооны файлууд гэх мэт өөрийн зан төлөвийг үнэлдэггүй.
Vibe кодчилолын аюулгүй байдлын хамгийн өндөр хөшүүргийн засвар юу вэ?
Аюулгүй байдлын шалгалтыг зөвхөн дараагийн хувилбарт найдахаас илүүтэйгээр IDE руу үүсгэх цэг дээр шилжүүлэх pipeline скан хийх. Асуудлыг дээр нь суурилагдсан дараагийн гурван функцийн нэг хэсэг болохоос нь өмнө илрүүлэх нь дараа нь илрүүлэхээс өөр асуудал юм.
Виб код бичих аюулгүй байдлыг хангах нь хөгжүүлэгчдийг удаашруулна гэсэн үг үү?
Хэрэв шалгалт нь IDE дотор тайлбар, бэлэн засвартайгаар хийгдсэн бол үгүй. Зорилго нь гараар хянаж байсан дүгнэлтийг сэргээхийн зэрэгцээ хурдны чичиргээний кодчилолын санал болгож буй хэмжээг хадгалах явдал юм.





