ไฟล์อันตราย `litellm_init.pth` ที่รวมอยู่ในแพ็กเกจ PyPI ของ litellm 1.82.8 ดำเนินการขโมยข้อมูลรับรอง
(github.com/BerriAI)- มีการรวมไฟล์
.pthที่ถูกรันอัตโนมัติเมื่อเริ่มต้น Python interpreter ทำให้เกิดการรวบรวมและส่งออกข้อมูลสำคัญ เช่น API key, SSH key, cloud token ออกไปภายนอก - สคริปต์อันตรายถูกซ่อนไว้ด้วยการเข้ารหัส base64 สองชั้น และส่งข้อมูลที่รวบรวมได้ไปยัง
litellm.cloudหลังจาก เข้ารหัสด้วย AES-256 และปกป้องด้วยกุญแจสาธารณะ RSA - หากติดเชื้อ ข้อมูลรับรองของ local environment, CI/CD และ production server อาจรั่วไหลทั้งหมด
- มีรายงานว่า เวอร์ชัน 1.82.7 ก็มีโค้ดอันตรายอยู่ด้วย ทำให้ทั้งสองเวอร์ชันมีความเสี่ยง
- ชุมชนด้านความปลอดภัยแนะนำอย่างเร่งด่วนให้ ลบแพ็กเกจ หมุนเวียนข้อมูลรับรอง และเสริมความมั่นคงปลอดภัยของซัพพลายเชน
เหตุการณ์ความปลอดภัยจากไฟล์อันตราย litellm_init.pth ในแพ็กเกจ PyPI ของ litellm 1.82.8
- ในแพ็กเกจ wheel บน PyPI ของ litellm 1.82.8 มีการรวม ไฟล์
.pthอันตราย (litellm_init.pth) เอาไว้ ทำให้เกิดปัญหาที่ สคริปต์ขโมยข้อมูลรับรองจะรันอัตโนมัติทุกครั้งที่ Python interpreter เริ่มทำงาน - ไฟล์นี้สามารถทำงานได้แม้ไม่ต้องสั่ง
import litellmและยืนยันว่าเป็นการโจมตีแบบ Supply Chain - มีการระบุไฟล์อันตรายนี้ไว้ในไฟล์
RECORDของแพ็กเกจ -
การวิเคราะห์พฤติกรรมอันตราย
- ไฟล์
.pthอาศัยคุณสมบัติที่ รันอัตโนมัติเมื่อ Python interpreter เริ่มต้น - สคริปต์อันตรายถูกซ่อนไว้ด้วย base64 สองชั้น และเมื่อถอดรหัสแล้วจะทำงานตามขั้นตอนต่อไปนี้
- ไฟล์
-
ขั้นตอนที่ 1: รวบรวมข้อมูล
- ข้อมูลระบบ:
hostname,whoami,uname -a,ip addr,ip route - ตัวแปรสภาพแวดล้อม: เก็บ API key, secret, token ฯลฯ ผ่าน
printenv - SSH key: ไฟล์คีย์หลักและไฟล์ตั้งค่าใน
~/.ssh/ - ข้อมูลรับรอง Git:
~/.gitconfig,~/.git-credentials - ข้อมูลรับรองคลาวด์: ไฟล์ตั้งค่าและโทเคนที่เกี่ยวข้องกับ AWS, GCP, Azure
- การตั้งค่า Kubernetes:
/etc/kubernetes/,~/.kube/configเป็นต้น - การตั้งค่า Docker:
~/.docker/config.jsonเป็นต้น - การตั้งค่าตัวจัดการแพ็กเกจ:
.npmrc,.netrc,.vault-tokenเป็นต้น - ประวัติ shell:
.bash_history,.zsh_historyเป็นต้น - กระเป๋าเงินคริปโท:
~/.bitcoin/,~/.ethereum/keystore/เป็นต้น - กุญแจส่วนตัว SSL/TLS:
/etc/ssl/private/, ไฟล์.pem,.key - ซีเคร็ตของ CI/CD:
terraform.tfvars,.gitlab-ci.yml,Jenkinsfileเป็นต้น - ข้อมูลรับรองฐานข้อมูล: ไฟล์ตั้งค่าของ PostgreSQL, MySQL, Redis เป็นต้น
- Webhook URL: ค้นหา URL ของ Slack, Discord เป็นต้น
- ข้อมูลระบบ:
-
ขั้นตอนที่ 2: เข้ารหัสและส่งออกไปภายนอก
- บันทึกข้อมูลที่รวบรวมไว้ลงไฟล์ชั่วคราว
- สร้าง AES-256 session key ขนาด 32 ไบต์ ด้วย
openssl rand - เข้ารหัสข้อมูลด้วย
openssl enc -aes-256-cbc -pbkdf2 - session key จะถูกเข้ารหัสด้วย กุญแจสาธารณะ RSA 4096 บิต ที่ฝังไว้แบบฮาร์ดโค้ด
- รวมสองไฟล์เป็น
tpcp.tar.gzแล้วส่งออก - ปลายทางการส่ง:
https://models.litellm.cloud/(ต่างจากโดเมนทางการlitellm.ai)
-
รายละเอียดทางเทคนิค
- ไฟล์
.pthอยู่ในsite-packages/ของ Python และ รันอัตโนมัติเมื่อ interpreter เริ่มต้น - payload ถูกซ่อนด้วย base64 สองชั้น เพื่อหลบเลี่ยงการตรวจจับ
- ผู้โจมตีใช้โดเมน
litellm.cloudในการรัน เซิร์ฟเวอร์ขโมยข้อมูล - ส่วนต้นของกุญแจสาธารณะ RSA:
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvahaZDo8mucujrT15ry+...
- ไฟล์
-
ขอบเขตผลกระทบ
- เมื่อติดตั้ง
litellm==1.82.8ความลับทั้งหมด เช่น ตัวแปรสภาพแวดล้อม, SSH key, ข้อมูลรับรองคลาวด์ อาจรั่วไหล - เป้าหมายที่ได้รับผลกระทบ:
- สภาพแวดล้อมพัฒนาในเครื่อง
- ไปป์ไลน์ CI/CD
- Docker container
- production server
- นอกจากนี้ยังมีรายงานเพิ่มเติมว่า เวอร์ชัน 1.82.7 ก็มีโค้ดอันตรายใน
proxy/proxy_server.py
- เมื่อติดตั้ง
-
มาตรการที่แนะนำ
-
- PyPI: ลบหรือ yank
litellm 1.82.8ออกจากระบบทันที
- PyPI: ลบหรือ yank
-
- ผู้ใช้:
- ตรวจสอบว่ามี
litellm_init.pthอยู่ในsite-packages/หรือไม่ - หมุนเวียน (rotate) ข้อมูลรับรองทั้งหมด ของระบบที่ติดตั้งเวอร์ชันดังกล่าว
-
- BerriAI: ควร ตรวจสอบความปลอดภัยของข้อมูลรับรองที่ใช้เผยแพร่บน PyPI และของไปป์ไลน์ CI/CD
-
-
สภาพแวดล้อมที่ค้นพบ
- OS: Ubuntu 24.04 (Docker container)
- Python: 3.13
- เส้นทางการติดตั้ง: PyPI
- เวลาที่พบ: 24 มีนาคม 2026
-
ปฏิกิริยาจากชุมชนและประเด็นถกเถียงเพิ่มเติม
- นักพัฒนาหลายคนระบุว่า “อาจมีผู้ใช้หลายพันรายติดเชื้อไปแล้ว”
- ผู้ใช้บางรายยืนยันว่า เวอร์ชัน 1.82.7 ก็ติดเชื้อเช่นกัน
- ผู้เชี่ยวชาญด้านความปลอดภัยเน้นย้ำถึงความจำเป็นของ การ pin dependency และ การเสริมความมั่นคงปลอดภัยของซัพพลายเชน
agnosticlinesเป็นต้น ชี้ให้เห็นถึง ช่องโหว่ของ GitHub Actions และ การเกิดซ้ำของการโจมตีซัพพลายเชนMountainGod2เตือนว่า “ควร pin dependency ด้วย commit hash และใช้รีลีสใหม่หลังจากตรวจสอบแล้วเท่านั้น”- หลายโปรเจกต์ เช่น
mlflow,home-assistant,morphik-coreได้ดำเนินการ ตรึงเวอร์ชันหรือถอด litellm ออก
ยังไม่มีความคิดเห็น