Терминалын AI агентаас үүдсэн токен алдагдал: LiteLLM сан PyPI дээр хордсон дуулиан ба хөгжүүлэгчдийн авах хичээл
Долоо хоногт 23 сая гаруй таталттай, төрөл бүрийн LLM-үүдийг нэгдсэн API-аар холбодог нээлттэй эхийн LiteLLM төсөл нийлүүлэлтийн сүлжээний (supply chain) томоохон халдлагад өртлөө. Халдагчид төслийн албан ёсны CI/CD дамжлагыг ашиглан хортой код бүхий v1.107.0 хувилбарыг PyPI болон Docker Hub-д амжилттай нийтэлж чадсан байна.
Гэвч энэ хэргийн хамгийн цочирдмоор хэсэг нь халдагчид хэрхэн нэвтэрсэн бэ гэдэгт бий. Халдлага терминалын AI код бичигч агент (coding agent) болон түүний хариуг бүртгэж байсан лог системээс эхлэлтэй болох нь тодорхой болов.
Халдлага хэрхэн өрнөв: AI агентаас эхэлсэн гинжин урвал
LiteLLM-ийн нийтэлсэн ослын тайлан (incident report) болон аюулгүй байдлын Wiz, Upwind зэрэг багуудын дүн шинжилгээнээс үзэхэд халдлага дараах дарааллаар явагджээ:
- AI агент токеныг дэлгэв: Хөгжүүлэгчид Anthropic-ийн терминалын агент болох Claude Code-ийг өдөр тутмын засвар, кодчилолд ашиглаж байх үед уг агент зарим сануулгын хариунд хөгжүүлэгчийн GitHub CLI OAuth token-ийг санамсаргүй байдлаар гарган бичсэн байна.
- Лог руу хандах цоорхой: LiteLLM-ийн туршилтын дотоод прокси серверийн логт эдгээр чатын түүх хадгалагдаж байсан бөгөөд халдагчид уг серверийн цоорхойг ашиглан гурван инженер, тэр дундаа байгууллагын эзэмшигч (owner)-ийн GitHub токеныг гартаа оруулжээ.
- Хамгаалалтыг тойрч, хуурамч репо холбосон нь: Олдсон түлхүүрүүдээрээ халдагчид үндсэн салбарын (branch protection) дүрмийг унтрааж, албан ёсны
BerriAI/litellm-ийн оронд нэг л зураасаар ялгагдахBerri-AI/litellmгэсэн хуурамч форк үүсгэн холбожээ. - Хортой хувилбар цацагдав: Хулгайлсан хоёр дахь инженерийн эрхээр release хийх workflow-ийг баталгаажуулж, гурав дахь эрхээр үйлдлийнхээ логуудыг устгасан байна. Ингэснээр 1.107.0 хувилбар PyPI болон албан ёсны Docker registry-д шууд гарсан юм.
PyPI дээр уг хувилбар 2 цаг орчим байршсан ч хэдэн арван мянган төхөөрөмж татаж амжжээ.
Хортой код юу хийдэг вэ: import хийгээгүй байхад л ажиллана
Энэхүү халдлагын хортой код нь уламжлалт хортой сангуудаас хамаагүй нарийн бүтэцтэй байв:
- Python Startup Hooks: Халдагчид кодоо
.pthфайл болонsitecustomize.pyдотор нуусан байжээ. Энэ нь хөгжүүлэгч өөрийн коддооimport litellmгэж бичээгүй байсан ч, тухайн виртуал орчинд ямар нэгэн Python команд (жишээ ньpytest,python script.py) ажиллах төдийд хортой код автоматаар ажиллана гэсэн үг юм. - Түлхүүр хулгайлагч (Infostealer): Уг код нь орчны хувьсагчид болон локал тохиргооноос AWS, GCP, Azure-ийн үүлэн түлхүүрүүд, SSH болон GPG түлхүүрүүд, браузерын күүки, терминалын түүхийг шүүрдэж сервер рүү илгээж байв.
- Шууд LiteLLM-ийн бааз руу дайрсан нь: LiteLLM нь олон арван LLM хангагчдын API түлхүүрийг Postgres өгөгдлийн санд хадгалдаг. Хортой код шууд уг бааз руу query шидэж, хадгалагдсан 500 хүртэлх хиймэл оюуны API түлхүүрийг нэгэн зэрэг хулгайлахаар тусгайлан програмчлагдсан байжээ!
- LLMjacking ба арын хаалга: Wiz-ийн судлаачдын тогтоосноор халдлага гараад 4.5 цагийн дараа халдагчид хулгайлсан AWS instance үүргийг ашиглан
sts:GetCallerIdentityболонbedrock:ListFoundationModelsдуудалтууд хийж, хохирогчдын зардлаар үнэтэй AI загваруудыг хууль бусаар ажиллуулах (LLMjacking) бэлтгэлээ базааж эхэлсэн байв.
Хөгжүүлэгчид юу хийх ёстой вэ?
Хэрэв та эсвэл танай баг төсөлдөө LiteLLM ашигладаг бол дараах яаралтай алхмуудыг хийхийг зөвлөж байна:
- Хувилбараа шалгах: Төслийн орчинд
litellm==1.107.0болон сэжигтэй Docker тагууд (v1.107.0,latest,main-latest) 10-р сарын 21-ний 11:39 - 14:20 UTC хооронд татагдсан эсэхийг яаралтай шалгах. Аюулгүй хувилбар руу буцаах эсвэл хамгийн сүүлийн цэвэр хувилбар руу шинэчлэх шаардлагатай. - Бүх нууц түлхүүрийг шинэчлэх (Rotate): Хэрэв тухайн хувилбар суусан байж болзошгүй бол таны машинд эсвэл сервер дээр байсан AWS, GCP, GitHub tokens, LiteLLM дээр хадгалагдаж байсан бүх OpenAI, Anthropic API түлхүүрүүдийг хүчингүй болгож нэн даруй солих шаардлагатай.
- Python орчныг цэвэрлэх: Сэжигтэй виртуал орчинд
site-packages/хавтас дотор.pthфайл болонsitecustomize.pyүүссэн эсэхийг шалгах. Хамгийн найдвартай арга нь тухайн виртуал орчныг устгаад шинээр үүсгэх явдал юм.
Дүгнэлт ба сургамж: AI агентуудын эрин үеийн аюулгүй байдал
Энэхүү халдлага бол AI хөгжүүлэлтийн хэрэгслүүд болон нийлүүлэлтийн сүлжээний аюулгүй байдал ямар эмзэг цэг дээр уулзаж буйг харуулсан дохио юм.
Терминал дээр ажилладаг Claude Code, Cursor, Copilot зэрэг бие даасан агентууд нь таны файл систем, орчны хувьсагчид, gh болон aws CLI-ийн бүрэн эрхтэй шууд харьцдаг. Хэрэв агент дэлгэц дээр эсвэл хариу текстдээ нууц токен хэвлэж, тэр нь байгууллагын нийтийн эсвэл хамгаалалт муутай лог систем рүү бичигдвэл аюулгүй байдлын асар том цоорхой үүсдэг болохыг энэ явдал баталлаа.
Бид хиймэл оюуны тусламжтай хурдан хөгжүүлэлт хийж байгаа ч нууц түлхүүрийн менежмент (Secret Masking), AI агентуудын тусгаарлалт (Sandboxing), release дамжлагын хатуу баталгаажуулалтаа (Hardware MFA, Signed Commits) хэзээ ч сулруулж болохгүйг энэхүү сургамж сануулж байна.
Эх сурвалж: LiteLLM Incident Report, Wiz Research, The Hacker News
Сэтгэгдэл
Ачаалж байна...