AI таны терминалыг эзлэхээ болилоо: GitHub Copilot "Local Sandboxing" хамгаалалтыг нэвтрүүлэв
Сүүлийн үед хиймэл оюуны салбар зөвхөн код зөвлөдөг (autocomplete) түвшнээс хальж, даалгаврыг бие даан гүйцэтгэдэг агент төвтэй (agentic) хөгжүүлэлт рүү бүрэн шилжээд байна. Бид өнөөдөр AI агентдаа зөвхөн чиглэл өгөөд файл засуулах, туршилтын тестүүд ажиллуулах, CLI коммандууд биелүүлэх зөвшөөрлийг олгодог болсон.
Гэвч энд нэг асар том эрсдэл байсаар ирсэн: Агент таны компьютерт үндсэн хэрэглэгчийн (user) эрхээр шууд комманд ажиллуулдаг. Хэрэв модель алдаа гаргаж (hallucination) эсвэл гуравдагч сангуудаас халдварласан prompt injection-д автвал таны файлын систем, ~/.ssh түлхүүрүүд, .env нууцлалууд бүгд шууд эрсдэлд орох аюултай байв.
Энэхүү ноцтой асуудлыг шийдвэрлэхээр GitHub өөрийн албан ёсны апп болон CLI орчиндоо "Local Sandboxing" буюу хөгжүүлэгчийн төхөөрөмж дээрх тусгаарлагдсан хамгаалалтын орчныг Public Preview хэлбэрээр зарлалаа.
AI агентыг "хайрцаглах" шаардлага яагаад үүсэв?
Агентууд бие даан ажиллахын тулд Bash болон PowerShell терминал дээр npm install, pytest, git, docker зэрэг олон арван тушаалыг ар араас нь гүйцэтгэдэг.
Урьд нь эдгээр тушаалууд хөгжүүлэгчийн үндсэн үйлдлийн систем дээр ямар нэг тусгаарлалтгүйгээр шууд дуудагддаг байсан тул дараах бодит аюулууд тулгардаг байв:
- Файлын системийн халдлага: Агент өөр төслийн файл, системийн тохиргоо эсвэл хэрэглэгчийн үндсэн хавтас руу дур мэдэн нэвтрэх, устгах.
- Нууц түлхүүр алдагдах: Таны систем дээрх AWS/GCP түлхүүрүүд, GitHub token болон SSH private key бүхий эмзэг файлуудыг агент уншиж, гадагш алдах.
- Хяналтгүй сүлжээний урсгал: Агент нь эх кодыг гадаад үл мэдэгдэх сервер рүү илгээх, эсвэл байгууллагын дотоод сүлжээ (internal LAN) рүү сэжигтэй хүсэлт явуулах.
GitHub-ийн шинээр танилцуулсан Local Sandboxing нь эдгээр аюул заналыг үйлдлийн системийн түвшинд хатуу тусгаарлах замаар шийдвэрлэж байна.
Local Sandboxing хэрхэн ажилладаг вэ?
Шинэ сэндбокс архитектур нь хөгжүүлэгчийн төслийн орчныг 3 үндсэн чиглэлээр хязгаарлаж хамгаална:
1. Файлын системийн нарийн зааглалт (Filesystem Boundaries)
Агент анхдагч тохиргоогоороо зөвхөн одоогийн ажиллаж буй ажлын хавтас (working tree) болон түр хавтас (temp folder) дотор л файл үүсгэх, засах эрхтэй.
- Та тодорхой замуудыг Read-only эсвэл Denied (Хаалттай) жагсаалтад оруулж болно.
- Хэрэглэгчийн үндсэн хавтас болон системийн чухал байршлуудыг автоматаар хамгаалж, гаднын сангуудад гар хүрэхийг хориглоно.
2. Сүлжээний бие даасан хяналт (Network Isolation)
Агент интернэт рүү хүсэлт илгээж болох эсэх, мөн компанийн дотоод локал сүлжээ (Local Network) рүү хандаж болох эсэхийг бие даан удирдах боломжтой болсон. Хэрэв тухайн төсөлд зөвхөн офлайн орчинд код бичих шаардлагатай бол сүлжээний бүх гарцыг нэг товшилтоор хаах боломжтой.
3. Баталгаажуулах эрхийн хамгаалалт (Credential Sandboxing)
Агент төслийн кодыг шинэчлээд git push хийх эсвэл gh pr create комманд ажиллуулахад зориулж Git HTTPS болон GitHub CLI-ийн эрхийг тусгаарлагдсан байдлаар дамжуулна. Ингэснээр таны машин дээрх бусад хувийн түлхүүрүүд сэндбокс дотор задрахгүй.
Хамгийн чухал нь: "Fail-Closed" архитектур
Local Sandboxing-ийн хамгийн онцлох техникийн шийдэл бол түүний Fail-Closed зарчим юм. Хэрэв хөгжүүлэгчийн ашиглаж буй үйлдлийн систем тухайн хамгаалалтын бодлогыг (policy) бүрэн дэмжихгүй эсвэл алдаа заавал, Copilot "зүгээр л сэндбоксгүйгээр ажиллуулах"-ын оронд тушаалыг шууд цуцалж, алдаа заан зогсдог.
Энэ нь аюулгүй байдлыг ямар ч тохиолдолд найдвартай байлгах суурь зарчим юм.
Мөн багийн болон байгууллагын (Enterprise) түвшинд энэхүү хамгаалалтын бодлогыг managed-settings.json файл болон MDM (Microsoft Intune)-ээр дамжуулан бүх инженерүүдийн төхөөрөмж дээр албадан мөрдүүлэх боломжтойгоор шийджээ. Үүнээс гадна агентын хийсэн алхам, ашигласан tool-үүдийг OpenTelemetry (OTel) стандартаар дамжуулан төвлөрсөн системдээ хянах боломжийг хамтад нь нээлээ.
Үүнийг өөрийн төсөлд хэрхэн идэвхжүүлэх вэ?
Одоогоор уг боломж урьдчилсан туршилтын (Public Preview) шатандаа яваа бөгөөд дараах байдлаар хялбар идэвхжүүлж болно:
- Төслийн түвшинд тогтмол асаах:
GitHub Copilot App-ийн тохиргоо руу орж, төслөө сонгон
Sandboxцэсний "Sandbox new sessions" сонголтыг идэвхжүүлнэ. - Идэвхтэй сесс дээр хурдан асаах:
Чат терминал дээрээ шууд дараах тушаалыг бичнэ:
Ингэснээр тухайн сессийн туршид агент зөвхөн тусгаарлагдсан контейнер маягийн орчинд ажиллах болно./sandbox on
Дүгнэлт: AI кодчилол "Итгэлцэл"-ээс "Zero-Trust" рүү шилжиж байна
Агентуудын чадавх нэмэгдэхийн хэрээр "AI зөв код бичнэ гэдэгт найдах" биш, харин "AI-д хэрэгцээгүй эрх мэдэл олгохгүй байх" зарчим програм хангамжийн шинэ стандарт болж байна. GitHub-ийн энэхүү алхам нь төхөөрөмжөө сүйтгэх, нууц мэдээллээ алдах вий гэсэн айдасгүйгээр хөгжүүлэгчид AI агентуудад даалгавраа бүрэн даатгах чухал хөрс суурийг бүрдүүлж өглөө.
Эх сурвалж: GitHub Changelog: Local sandboxing in the GitHub Copilot app
Сэтгэгдэл
Ачаалж байна...