Мэдээ

Алдаа засаад мартдаг эрин өнгөрлөө: GitHub Agentic Autofix санах ойтой болж, кодын загваруудаа тогтоодог болов

TOGTOKHTOGTOKH·2026 оны есдүгээр сарын 27·1 үзсэн·
Алдаа засаад мартдаг эрин өнгөрлөө: GitHub Agentic Autofix санах ойтой болж, кодын загваруудаа тогтоодог болов

Хөгжүүлэгчдийн дунд "AI-аар эмзэг байдал (vulnerability) засуулах нь заримдаа өөрөө толгойны өвчин болдог" гэсэн нийтлэг шүүмж бий. Учир нь өнөөг хүртэл ихэнх автомат засварын системүүд ерөнхий (boilerplate) кодын сан дээр суурилсан шийдэл санал болгодог байв. Танай төсөлд аль хэдийн батлагдсан өөрийн гэсэн validation helper, төвлөрсөн error wrapper, эсвэл ORM abstraction байсаар атал AI интернетээс цээжилсэн ерөнхий нэг сан дуудаж орхидог явдал цөөнгүй гардаг.

GitHub энэхүү асуудлыг шийдвэрлэх томоохон алхам хийж, өөрийн Agentic Autofix хэрэгслийг Copilot Memory системтэй албан ёсоор холбосноо зарлалаа. Энэхүү шинэчлэл нь аюулгүй байдлын сканнерын олж илрүүлсэн алдаануудыг засварлах арга барилыг үндсээр нь өөрчилж байна.


Өмнөх дутагдал: "Зассан ч мартдаг" цикл

Уламжлалт автомат засварын хэрэгслүүдийн хамгийн сул тал нь сесс хоорондын санах ойгүй байдал (stateless nature) байсан юм. Хэрэв танай системд SQL injection эсвэл Cross-Site Scripting (XSS) эмзэг байдал илэрвэл танай багийн бичсэн дотоод sanitizer функцийг ашиглаж засах хүртэл та дахин дахин prompt өгөх эсвэл PR дээр нь гараар гар хүрч засах шаардлага гардаг байв.

Түүнээс гадна, өнөөдөр зассан асуудлыг AI маргааш нь өөр файлаас олохдоо өмнө нь яаж шийдсэнээ мартчихдаг байлаа. Ингэснээр нэг л репозитор дотор аюулгүй байдлын асуудлыг шийдвэрлэх тав, зургаан өөр арга барил зэрэгцэн оршиж, код бааз замбараагүй болох эрсдэлтэй байсан юм.


Agentic Autofix одоо хэрхэн ажиллах вэ?

Шинэчлэл хийгдснээр Copilot Memory-г идэвхжүүлсэн хэрэглэгчдийн хувьд процесс цоо шинэ шатанд шилжиж байна.

  1. Санах ойг шүүж шалгах: Code scanning (CodeQL) эсвэл Code Quality хэрэгсэл алдаа заахад, Agentic Autofix шууд код хуулж тавихаасаа өмнө репозиторын хуримтлагдсан санах ойг (memories) уншина. Үүнд танай багийн кодын дүрэм, архитектурын онцлог, ямар хамгаалалтын сан ашигладаг тухай мэдээллүүд багтана.
  2. Төсөлд тохирсон контекстээр засах: Олж авсан мэдлэг дээрээ үндэслэн тухайн репозиторын өнгө төрх, хэв маягт 100% нийцэх засварыг (contextual fix) санал болгоно.
  3. Засварын хэв шинжийг (Fix Pattern) хадгалах: Энэ бол хамгийн чухал хэсэг. Хэрэв Agentic Autofix амжилттай засвар хийж, баталгаажуулбал тухайн засварын загварыг цаашид ашиглахаар Copilot Memory-д бичиж үлдээнэ. Дараагийн удаа үүнтэй төстэй эмзэг байдал гарахад тэрээр анхны амжилттай загвараа дахин шууд ашиглах болно.

Cross-Feature Synergy: Нэг хэрэгслийн туршлага экосистемээрээ түгэх нь

GitHub-ийн тайлбарласнаар, Autofix-ийн үүсгэсэн эдгээр санах ойн өгөгдөл зөвхөн аюулгүй байдлын модулиар хязгаарлагдахгүй. Кодын санд хадгалагдсан өгөгдлийг бусад бүх Copilot функцууд дундаа хуваалцана:

  • Copilot Code Review-д: Хэрэв Autofix тодорхой нэг өгөгдлийн баазын дуудлагыг хэрхэн аюулгүй болгохыг сураад тогтоосон бол, хөгжүүлэгч өөр PR оруулж ирэхэд Copilot Code Review уг дүрмийг санаж, багийн стандарт бус кодыг шууд анхааруулан шалгах чадвартай болно.
  • Copilot Cloud Agent-д: Үүлэн орчинд бие даан ажиллах agent дараагийн шинэ feature-ийг хөгжүүлэхдээ аюулгүй байдлын Autofix-ийн цээжилсэн дүрэм, арга барилыг дагаж анхнаасаа цэвэр, эмзэг байдалгүй код бичнэ.

Энэ нь хөгжүүлэгчийн багт шинэ гишүүн орж ирээд туршлагатай ахлах инженерийн бичсэн PR-уудаас суралцаж, цаашид тэр хэв маягаар кодоо бичдэгтэй яг адил зарчим юм.


Governance & Санах ойн хяналт

Аж ахуйн нэгж болон багуудын хувьд санах ойд буруу загвар хуримтлагдах вий гэсэн болгоомжлол байдаг. GitHub үүнийг дараах механизмаар зохицуулсан байна:

  • 28 хоногийн retention: Хуучирсан кодын сан, шинэчлэгдсэн framework-ийн хуучин санах ойнууд системд үүрд үлдэхгүй бөгөөд ашиглагдаагүй мэдээллүүд 28 хоногийн дараа автоматаар устгагдана.
  • Админы хяналт: Репозиторын эзэд болон байгууллагын менежерүүд Repository Settings > Copilot > Memory цэс рүү хандан хадгалагдсан санах ойнуудыг харж, шаардлагагүй эсвэл буруу дүрэм бүртгэгдсэн байвал устгах боломжтой.
  • Хувийн ба Төслийн ялгаа: Хэрэглэгчийн өөрийн хүсэл сонирхол (user-level preferences) болон төслийн түвшний архитектурын баримтууд (repo-level facts) нь өөр хоорондоо тусгаарлагдсан түвшинд хадгалагддаг.

Дүгнэлт: Хөгжүүлэгчийн хувьд энэ юу гэсэн үг вэ?

Энэхүү шинэчлэл нь AI кодчиллын хэрэгслүүд зөвхөн "статик асуулт хариултын машин" байхаа больж, танай төслийн хувьслыг дагаж хөгждөг амьд контексттэй хамтрагч болж буйн тод баталгаа юм.

Хэрэв та олон зуун backlog хуримтлагдсан том репозитор дээр ажилладаг бол Agentic Autofix-ийг Copilot Memory-тэй хамт ашигласнаар техникийн өр (tech debt) болон аюулгүй байдлын цоорхойнуудыг багийнхаа үндсэн стандартад нийцүүлэн, хамгийн бага гар ажиллагаатайгаар шийдвэрлэх боломж бүрдлээ.

Эх сурвалж: GitHub Changelog (September 25, 2026), GitHub Copilot Memory Documentation.

Сэтгэгдэл

Ачаалж байна...