Мэдээ

Зүгээр л вэб хуудас нээхэд ком тань хакердагдана: OpenCode AI агентын "Drive-by" RCE цоорхой илэрлээ

TOGTOKHTOGTOKH·2026 оны есдүгээр сарын 27·2 үзсэн·
Зүгээр л вэб хуудас нээхэд ком тань хакердагдана: OpenCode AI агентын "Drive-by" RCE цоорхой илэрлээ

Хөгжүүлэгчдийн дунд сүүлийн үед терминал дээр суурилсан, бие даан ажиллах чадвартай AI кодинг агентууд (Claude Code, Cursor, OpenCode г.м.) асар хурдацтай дэлгэрч байна. Тэд бидний өмнөөс файлуудыг засварлаж, коммандуудыг ажиллуулж, өдөр тутмын хөгжүүлэлтийг хөнгөвчилдөг. Гэвч энэ их эрх мэдлийг локал машиндаа олгож, цаана нь background daemon эсвэл локал веб серверийг дураар нь ажиллуулах нь ямар том эрсдэл дагуулдгийг Datadog Security Labs саяхан нотлон харууллаа.

200 мянга гаруй GitHub одтой, сар бүр 16 сая орчим хөгжүүлэгч хэрэглэдэг нээлттэй эхийн алдартай OpenCode AI агент дээр алсаас код дур мэдэн ажиллуулах (Remote Code Execution буюу RCE) боломжтой, нэн ноцтой эмзэг байдал илэрчээ.

Localhost-ийг "аюулгүй цайз" гэж андуурсан нь

Олон хөгжүүлэгчид OpenCode-ийг ашиглахдаа вэб интерфэйс болон терминалын холболтод зориулж opencode serve коммандаар локал серверийг ажиллуулдаг. Ихэнх тохиолдолд энэ сервер нь http://localhost:XXXX хаяг дээр нэмэлт нууц үгийн шаардлагагүй (эсвэл хөтөч дээр нь нэвтрэх эрх кэшлэгдсэн хэвээр) асаалттай орхигддог.

Хөгжүүлэгчдийн түгээмэл бодол бол: "Энэ зөвхөн миний машины localhost дээр л ажиллаж байгаа юм чинь гаднаас хэн ч хандаж чадахгүй" гэх итгэл байдаг. Гэвч хөтөч (browser) нь интернэт болон таны дотоод сүлжээ, тэр дундаа localhost-ийн хооронд гүүр болдгийг мартаж болохгүй.

Цоорхой яг яаж ажилладаг вэ? (GHSA-632h-h47v-g4x4)

Datadog-ийн судлаачдын дэлгэсэн дүн шинжилгээгээр уг халдлага дараах хоёр алдааны хослолоор хэрэгждэг:

  1. CORS хамгаалалтыг тойрч гарах (Bypass): Вэб хөтчүүд Cross-Origin Resource Sharing (CORS) бодлогоор дамжуулан гаднын вэб хуудсыг localhost руу дур мэдэн fetch() юм уу XMLHttpRequest илгээхээс сэргийлж, эхлээд OPTIONS preflight хүсэлт явуулдаг. Гэвч ердийн HTML <form action="http://localhost:.../global/upgrade" method="POST"> хүсэлт нь preflight шалгалт шаарддаггүй "Simple Request"-д тооцогддог.

  2. Content-Type Confusion ба Хортой Багц Суулгах: OpenCode-ийн шинэчлэлтийг хариуцдаг /global/upgrade HTTP endpoint нь хүсэлтийн Content-Type-ийг хатуу шалгадаггүй алдаатай байжээ. Халдагч өөрийн бэлдсэн хортой хуудсан дээр энгийн form үүсгээд, text/plain хэлбэрээр шинэчлэх багцын мэдээллийг явуулчихад л OpenCode сервер түүнийг "үнэн бодит шинэчлэлт байна" гэж андууран хүлээж авдаг.

Улмаар OpenCode нь халдагчийн байршуулсан хортой npm эсвэл bun багцыг шууд татаж аваад өөрийн системд суулгаж эхэлнэ. Node.js экосистемд ямар ч багц суух үедээ postinstall зэрэг lifecycle скриптүүдийг шууд ажиллуулдаг тул тухайн багцад агуулагдах дурын комманд тухайн хөгжүүлэгчийн хэрэглэгчийн эрхээр систем дээр нь шууд биелэгддэг (RCE) байна.

Өөрөөр хэлбэл, хөгжүүлэгч терминал дээрээ OpenCode-оо нээчихсэн ажиллаж байх үедээ цахим ертөнцөөс хортой холбоос, эсвэл хакердуулсан форум хуудас руу ганц л товшиход л түүний компьютер дээрх:

  • SSH түлхүүрүүд,
  • AWS / Cloud хандуулах нууц код (credentials),
  • .env файлууд дахь төслийн нууц API key-үүд халдагчийн сервер рүү секундийн дотор нууцаар илгээгдэх аюул үүссэн юм.

Тоонууд юу өгүүлнэ вэ?

Энэхүү цоорхой нь OpenCode-ийн 1.14.30-аас 1.18.21 хүртэлх бүх хувилбарт оршиж байсан. Хэдийгээр OpenCode-ийн баг уг алдааг мэдээлмэгц зассан боловч албан ёсоор нийтэд зарлах хүртэлх ердөө ганцхан долоо хоногийн хугацаанд гэхэд л цоорхойтой хувилбарууд npm дээрээс 647,000 гаруй удаа татагдсан статистик гарчээ.

Хөгжүүлэгчид юуг анхаарах ёстой вэ?

Энэ явдал нь сүүлийн жилүүдэд гарч буй хамгийн ноцтой бөгөөд сургамжтай сануулга болж байна. Хөгжүүлэгчдэд өгөх гол зөвлөмжүүд:

  • Яаралтай хувилбараа шалга: Хэрэв та OpenCode ашигладаг бол даруй 1.18.22 буюу түүнээс дээш хувилбар руу шинэчил.
  • Localhost-ийг ил задгай битгий орхи: Хөгжүүлэлтийн зориулалттай локал вебсервер, AI агент, MCP (Model Context Protocol) серверүүдийг хэзээ ч хамгаалалтгүйгээр бүү ажиллуул. Сервер горимд ажиллуулах бол найдвартай authentication (токен, нууц үг) заавал тохируулах шаардлагатай.
  • Сэндбокс (Sandbox) ашиглах дадалд суралц: AI код бичигч болон туслах агентуудад таны локал файлын систем, сүлжээнд бүрэн эрх өгөхийн оронд тусгаарлагдсан Docker контейнер эсвэл хязгаарлагдмал runtime орчинд ажиллуулах нь дараагийн томоохон стандартуудын нэг болох нь тодорхой боллоо.

AI хэрэгслүүд бидний бүтээмжийг 10 дахин нэмэгдүүлж байгаа ч, халдагчдад зориулсан халдлагын цэгийг (attack surface) ч мөн адил хэмжээгээр тэлж буйг мартаж болохгүй.


Эх сурвалж: Datadog Security Labs, GitHub Advisory Database (GHSA-632h-h47v-g4x4).

Сэтгэгдэл

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