
แฮ็กเกอร์ได้เจาะระบบแพ็กเกจ PyPI ของโปรเจกต์ LiteLLM และเผยแพร่ Docker image ที่เป็นอันตราย ซึ่งแฝง Payload สำหรับขโมยข้อมูล Credentials, ข้อมูล Secrets และ Environment variables
การโจมตีแบบ Supply-chain attack ครั้งนี้ ส่งผลกระทบต่อ PyPI wheels (แพ็กเกจติดตั้ง .whl) ทั้งหมดของ LiteLLM เวอร์ชัน 1.107.0 ซึ่งกระทบต่อทั้งระบบ Windows, Linux และ macOS
LiteLLM เป็น Python SDK และ AI gateway แบบ Open-source ที่ช่วยให้แอปพลิเคชันสามารถเข้าถึงโมเดล AI จากผู้ให้บริการต่าง ๆ ผ่าน API กลาง
โปรเจกต์นี้ได้รับความนิยมอย่างสูง โดยมีดาวบน GitHub ถึง 61,800 ดวง มียอดดาวน์โหลดบน PyPI 92 ล้านครั้งต่อเดือน และถูกใช้งานโดยบริษัทชั้นนำอย่าง NVIDIA, Netflix, AT&T และ Okta
ทางโปรเจกต์ระบุว่า Release pipeline ถูกเจาะระบบเมื่อวันที่ 21 ตุลาคม และผู้ไม่หวังดีได้ Pushed เวอร์ชัน 1.107.0 ขึ้นไปยัง Docker registry และ PyPI
ผู้ดูแลโปรเจกต์ระบุว่า "เวอร์ชันนี้มีมัลแวร์ที่ถูก Compiled มาเพื่อขโมย Credentials และโหลดเครื่องมือสำหรับการรันโค้ดที่เป็นอันตรายจากระยะไกล" แต่ลูกค้าที่ใช้งานเวอร์ชัน Private Enterprise ไม่ได้รับผลกระทบ
ในรายงานสรุปหลังเกิดเหตุการณ์ ผู้ดูแลระบุว่า Artifacts ของ LiteLLM ต่อไปนี้ได้รับผลกระทบจากการโจมตี
- PyPI: litellm==1.107.0: wheels ทั้ง 7 รายการ, ออนไลน์ตั้งแต่เวลา 11:39:51 ถึง 13:23 UTC
- Docker Hub: v1.107.0, latest, main-latest และ main-stable: pointed ไปยัง image index ที่ถูกแทรกแซง (sha256:1bbcb1443bc962e45f5aad53fe3d2c30600e0379715fb6c664cdd3ac126c339e) ตั้งแต่เวลา 11:46:56 ถึง 14:20 UTC
- GHCR: v1.107.0, latest, main-latest และ main-stable: pointed ไปยัง image index ที่ถูกแทรกแซงตามด้านล่างตั้งแต่เวลา 11:46:56 UTC จนกระทั่งถูกลบออกไปในเวลา 13:51 UTC
- ghcr.io/berriai/litellm: sha256:1bbcb1443bc9…
- ghcr.io/berriai/litellm-database: sha256:c00f9d92c427…
- ghcr.io/berriai/litellm-non_root: sha256:7b00e91cd2fe…
บริษัท Security ของแอปพลิเคชันหลายแห่งตรวจพบการโจมตีภายใน 6 นาทีหลังจากการเผยแพร่ LiteLLM เวอร์ชันที่เป็นอันตราย และได้ทำการวิเคราะห์ Payload
นักวิจัยระบุว่า ผู้โจมตีไม่ได้แตะต้องโค้ดแอปพลิเคชันของ LiteLLM เลย แต่ดัดแปลงเฉพาะแพ็กเกจติดตั้งเพื่อวางไฟล์อันตราย 3 ไฟล์ (cook.pth, cook.py และ sitecustomize.py) ลงใน Library Directory ของ Python ใน Environment นั้น
นักวิจัยจาก Socket อธิบายว่า "ระหว่างการ Startup ระบบตามปกติ Python จะประมวลผลบรรทัดคำสั่งที่รันได้ในไฟล์ .pth จากนั้นจะพยายาม Import sitecustomize"
Endor Labs ตั้งข้อสังเกตว่า ด้วยวิธีนี้ Payload จะถูกสั่งรันก่อนแอปพลิเคชันทุกครั้งที่มีการเรียกใช้ Python ใน Environment ดังกล่าว แม้แต่การรันคำสั่ง Python หรือ pip เพื่อตรวจสอบการติดตั้งที่ได้รับผลกระทบ ก็จะเป็นการ Triggered ให้มัลแวร์ทำงานเช่นกัน
มัลแวร์พุ่งเป้าขโมยข้อมูลต่อไปนี้
- Cloud and deployment credentials: AWS, Azure, Google Cloud, Kubernetes, Docker และข้อมูล Infrastructure-management secrets
- AI credentials and configuration: ไฟล์ยืนยันตัวตนสำหรับเครื่องมือพัฒนา AI รวมถึง Credentials ของผู้ให้บริการ และการตั้งค่าโมเดลที่ LiteLLM จัดเก็บไว้
- Developer secrets and private keys: Credentials ของ Git, GitHub, npm, PyPI และ CI/CD; ไฟล์ .env; รวมถึงคีย์ SSH, GPG และ TLS
- Browser data: ฐานข้อมูลการล็อกอินที่บันทึกไว้, Cookie, ข้อมูลป้อนอัตโนมัติ/การชำระเงิน และประวัติการท่องเว็บ
- Host and runtime data: Environment variables, ประวัติการใช้งาน Shell และแอปพลิเคชัน รวมถึงข้อมูลระบบ และเครือข่าย
ข้อมูลที่ถูกขโมยจะถูกเข้ารหัสด้วย AES-256-CBC key ซึ่ง Key ดังกล่าวจะถูกเข้ารหัสทับอีกชั้นด้วย RSA-4096 key จากนั้นจะถูกอัปโหลดไปยัง ‘litellm[.]dev/healthcheck’
หนึ่งในไฟล์ที่เป็นอันตราย (sitecustomize.py) จะรัน Loader แบบ Detached ที่คอยตรวจสอบ Pointer บน GitHub ทุก ๆ ชั่วโมง และดาวน์โหลดโค้ด Python จากเซิร์ฟเวอร์ภายนอกมารันบน Host
แพ็กเกจที่เป็นอันตรายดังกล่าวถูกลบออกไปแล้ว แต่ผู้ใช้ที่อาจได้รับผลกระทบควรหยุดการทำงาน (Deployments) ที่เกี่ยวข้อง และตรวจสอบ Environment โดยไม่ต้องเรียกใช้ตัวแปลคำสั่ง Python
ระบบที่ติดมัลแวร์ควรถูก Isolate และ Rebuild จาก Clean backups และข้อมูล Secrets ทั้งหมดที่อาจรั่วไหลควรได้รับการเปลี่ยนใหม่ทันที
การลบเพียง Directory ของแพ็กเกจ LiteLLM อาจทิ้งไฟล์ Startup หรือ Loader ที่ยังทำงานอยู่เอาไว้ในระบบได้
ปัจจุบัน เวอร์ชันที่แนะนำสำหรับการกู้คืนระบบคือ LiteLLM 1.106.2 ซึ่งเป็นเวอร์ชันล่าสุดที่ปลอดภัยก่อนเกิดการโจมตี
ก่อนหน้านี้ โปรเจกต์ดังกล่าวเคยถูกเจาะระบบมาแล้วในเดือนมีนาคม เมื่อกลุ่มแฮ็กเกอร์ TeamPCP ได้เผยแพร่ LiteLLM เวอร์ชันที่เป็นอันตรายบน PyPI หลังจากทำการเจาะระบบเครื่องมือสแกนช่องโหว่ Trivy ของ Aqua Security ซึ่งถูกใช้ใน CI/CD pipeline ของ LiteLLM
ที่มา : bleepingcomputer

You must be logged in to post a comment.