Тохиргооноос нь унтраасан ч нэмэргүй: ZCode таны Git түүх, устгасан нууц түлхүүрүүдийг нууцаар үүл рүү хуулж байжээ
Хөгжүүлэгчдийн өдөр тутмын ажилд хиймэл оюуны туслахууд (AI coding assistants) салшгүй хэсэг болсон өнөө үед бид тэдэнд хэр их итгэж болох вэ гэдэг асуудал дахин хурцаар тавигдлаа. Сүүлийн 24 цагийн дотор технологийн нийгэмлэг, тэр дундаа Hacker News болон Reddit-ийн тавцанд Zhipu AI (алдарт GLM цуврал моделиудыг бүтээгч)-ийн гаргасан ZCode ширээний аппликейшнтэй холбоотой ноцтой дуулиан дэгдэв.
Аюулгүй байдлын судлаач ferstar-ийн нийтэлсэн урвуу инженерчлэлийн (reverse engineering) тайлангаас үзвэл, ZCode нь хэрэглэгч системд нэвтэрсэн л бол арын горимд тухайн төслийн бүх фолдер, тэр дундаа .git бүртгэл болон түүхийг бүхэлд нь сэмхэн багцлаад Alibaba Cloud OSS үүлэн хадгалалт руу илгээж байжээ.
Ажиллаж буй кодоос гадна бүтэн Git түүхийг хуулж байв
Орчин үеийн AI кодчлолын хэрэгслүүд асуултад оновчтой хариулахын тулд төслийн холбогдох файлуудаас хэсэгчлэн авч LLM рүү context болгон илгээдэг нь хэвийн үзэгдэл. Гэвч ZCode-ийн хийсэн үйлдэл үүнээс хэд дахин хол давсан байна.
Судлаачийн туршилтаар 42,000 гаруй файлтай, 345MB орчим хэмжээтэй хувийн төслийг ZCode дээр нээхэд аппликейшн арын фононд 313MB хэмжээтэй тусгай архив үүсгэсэн байна. Хамгийн цочирдмоор нь уг өгөгдлийн:
- 196.1 MB нь Git LFS (Large File Storage)-ийн кэш файлууд,
- 102.2 MB нь
.git/objectsбуюу төслийн эхнээсээ хойш хийгдсэн бүх commit, мод бүтцийн түүх, - Үлдсэн хэсэг нь салбар (branch) хоорондын
reflogболон хэрэглэгчийн тохиргооны файлууд байв. Өөрөөр хэлбэл, нийт хуулсан өгөгдлийн 86.6% нь кодын түүхэн өөрчлөлтүүд байжээ.
Энэхүү архивыг төхөөрөмж дээр санамсаргүй түлхүүрээр шифрлээд, тэр түлхүүрээ Zhipu-ийн серверээс өгсөн RSA нийтийн түлхүүрээр түгждэг тул хэрэглэгч өөрийн компьютер дээр үүссэн уг файлын дотор яг юу агуулагдаж байгааг тайлж харах ч боломжгүй байв.
UI тохиргоог унтраасан ч байсан сүлжээгээр илгээсээр байсан
Энэхүү хэргийг улам ноцтой болгож буй зүйл нь хэрэглэгчийн хяналт байв. Хөгжүүлэгчид аппликейшны тохиргооноос өгөгдөл цуглуулахыг хориглосон тохиргоонуудыг идэвхгүй болгосон байхад ч ZCode энэ үйлдлээ зогсоолгүй, сүлжээний хүсэлт илгээсээр байсныг сүлжээний трафик шалгалтаар тогтоожээ.
Хөгжүүлэгч хүний хувьд энэ нь аюулгүй байдлын асар том гамшиг юм:
- Түүхэн commit доторх нууцууд: Ихэнх хөгжүүлэгчид анзааргагүйгээсээ болоод production API key, AWS credential, эсвэл нууц үгээ кодондоо хийгээд дараагийн commit-оороо устгадаг. Сүүлийн хувилбарт нууц үг байхгүй ч
.gitтүүх дотор тэр хэвээрээ үлддэг. ZCode түүхийг тэр чигт нь татаж авснаар эдгээр нууцууд үүл рүү шууд алдагдсан гэсэн үг. - Оюуны өмч ба лиценз: Байгууллагын дотоод нууцлалтай коммит мессежүүд, архитектурын шийдвэрүүд, өмчийн кодууд гуравдагч компанийн сервер дээр ямар ч хяналтгүй очсон байна.
Компанийн хариу: "Repo Wiki функц дефолтоор асаалттай байжээ"
Дуулиан шуугиан хүчээ авсны дараа Zhipu AI албан ёсны уучлалт хүсэж тайлбар хийлээ. Тэдний хэлж буйгаар ZCode-ийн "codebase indexing" доторх Repo Wiki (төслийн баримт бичгийг үүлэн дээр автоматаар боловсруулж үүсгэх функц) системд анхнаасаа анхдагч тохиргоогоор (enabled by default) асаалттай байсан нь ийм үр дагаварт хүргэсэн гэв. Мөн үүсгэсэн датаг Wiki бий болсны дараа шууд устгадаг, сервер дээр хадгалж үлдээдэггүй бөгөөд асуудлыг зассан шинэчлэлтийг гаргасан гэж мэдэгджээ.
Цаашлаад хэрэглэгчдийн итгэлийг эргүүлэн олж авахын тулд ZCode-ийн эх кодыг ойрын хугацаанд Open Source болгож, хөндлөнгийн аюулгүй байдлын аудитын багийг ажиллуулна гэж амлав.
Гэсэн ч олон улсын хөгжүүлэгчид тэдний тайлбарт эргэлзэж байна: Төслийн Wiki баримт бичиг гаргахад ажиллаж буй файлууд хэрэгтэй болохоос биш олон жилийн өмнөх Git objects, LFS кэш яагаад шаардлагатай гэж? Changelog түүхээс харахад төслийн сүлжээний "snapshot upload" нь тэдний системтэйгээр хөгжүүлж ирсэн үндсэн функц байсан нь илчлэгдээд байна.
Бид үүнээс юу анхаарах ёстой вэ?
Энэ хэрэг зөвхөн нэг бүтээгдэхүүний асуудал биш юм. Сүүлийн үед зах зээл дээр бий болж буй AI Agent болон ширээний код засварлагч хэрэгслүүдийн хувийн нууцлал ямар эмзэг түвшинд байгааг харууллаа.
- Open Weights нь Open Source биш: GLM-5.3 гэх мэт суурь моделиуд нь нээлттэй жинтэй (open-weights) байж болох ч тэдгээрийг ажиллуулж буй ширээний клиент нь хаалттай кодтой бол арын горимд таны дискнээс юуг ч хуулж болно.
- Сүлжээний урсгалыг хянах: Байгууллагын эсвэл чухал кодон дээр ажиллаж байгаа тохиолдолд шинэ тутам гарч ирж буй AI хэрэгслүүдийг туршихаасаа өмнө Little Snitch, Wireshark эсвэл сүлжээний галт ханаар (firewall) шалгаж байх хэрэгтэй.
- Git түүхээ нууц түлхүүрээс цэвэрлэх: Өөрийн төслийн commit түүхэнд санамсаргүй үлдсэн credentials байгаа эсэхийг
git-filter-repoэсвэлtrufflehogашиглан тогтмол цэвэрлэж хэвших нь таныг зөвхөн AI хэрэгслүүд гэлтгүй ямар ч төрлийн өгөгдлийн алдагдлаас хамгаалах суурь дадал юм.
Хиймэл оюуны хөгжүүлэлтийн эрчтэй хурд дунд хэрэглэгчийн өгөгдлийн нууцлал гэдэг зүйл хамгийн түрүүнд золиослогдож болзошгүйг энэхүү ZCode-ийн дуулиан дахин санууллаа.
Эх сурвалж:
- Hacker News Discussion: "Inside ZCode: Silently uploading your Git history to the cloud" (blog.ferstar.org)
- ZCode Official Statement & Reverse Engineering Analysis
Сэтгэгдэл
Ачаалж байна...