
SlowMist หัวหน้าเจ้าหน้าที่ด้านความปลอดภัยทางข้อมูล 23pds เปิดเผยเมื่อวันที่ 25 มีนาคม ว่าไลบรารีเกตเวย์ AI ของ Python ชื่อ LiteLLM ซึ่งมีการดาวน์โหลดเฉลี่ย 97 ล้านครั้งต่อเดือน ถูกโจมตีผ่านซัพพลายเชนของ PyPI เวอร์ชันที่ได้รับผลกระทบคือ 1.82.7 และ 1.82.8 ซึ่งอยู่บนแพลตฟอร์มอย่างน้อยสองชั่วโมง ผู้โจมตีสามารถฝังมัลแวร์หลายชั้น ซึ่งสามารถขโมยข้อมูลรวมถึงข้อมูลกระเป๋าเงินคริปโตเคอเรนซีได้
LiteLLM ทำหน้าที่เป็นอินเทอร์เฟซรวมในสแต็กเทคโนโลยี AI โดยสนับสนุนการเรียกใช้โมเดลจากผู้ให้บริการหลักเช่น OpenAI, Anthropic, Google ซึ่งโครงสร้างของมันอยู่ระหว่างแอปพลิเคชันและผู้ให้บริการ AI หลายราย ทำให้สามารถเข้าถึงคีย์ API ตัวแปรสภาพแวดล้อม และข้อมูลการกำหนดค่าที่เป็นความลับจำนวนมาก
การแทรกซึมเข้าไปในชุดไลบรารีชั้นกลางเช่นนี้ ผู้โจมตีไม่จำเป็นต้องโจมตีบริการต้นทางโดยตรง ก็สามารถดักจับข้อมูลรับรองความปลอดภัยที่ใช้ในสภาพแวดล้อมการพัฒนาท้องถิ่น กระบวนการ CI/CD และโครงสร้างพื้นฐานบนคลาวด์ ขณะนี้เจ้าหน้าที่กำลังประเมินว่าการโจมตีครั้งนี้เกี่ยวข้องกับกลุ่มอาชญากรไซเบอร์ TeamPCP และ LAPSUS$ หรือไม่ การสืบสวนยังอยู่ในระหว่างดำเนินการ เหตุการณ์นี้เริ่มต้นจากการรายงานของผู้ใช้บน GitHub และได้รับการวิเคราะห์เพิ่มเติมโดยนักวิจัยภายนอกของ Futuresearch
โค้ดมัลแวร์ในเวอร์ชันที่ได้รับผลกระทบใช้โครงสร้างสามชั้น ซึ่งถูกเข้ารหัสด้วย Base64 ที่ผ่านการทำให้ยุ่งเหยิงแล้วในภาษา Python:
ชั้นแรก (ชั้นข้อมูลรั่วไหล): รวบรวมข้อมูลสำคัญในเครื่องแล้วเข้ารหัสด้วย AES-256-CBC ใช้คีย์ RSA ที่ฝังไว้ในโค้ดเข้ารหัสคีย์เซสชัน แล้วบรรจุเป็นไฟล์ tpcp.tar.gz ส่งออกไปยังปลายทางระยะไกลที่ผู้โจมตีควบคุม
ชั้นที่สอง (ชั้นสอดแนมและเก็บข้อมูลรับรอง): สำรวจข้อมูลระบบ ตัวแปรสภาพแวดล้อม และดึงข้อมูลสำคัญ เช่น คีย์ SSH, ใบรับรอง Git, คีย์คลาวด์ของ AWS/GCP/Azure, ไฟล์คอนฟิก Kubernetes, ข้อมูลกระเป๋าเงินคริปโต และการตั้งค่าระบบ CI/CD บางกรณีมัลแวร์จะพยายามใช้ข้อมูลรับรองที่ขโมยมาเพื่อเรียกดู API ของ AWS หรือดำเนินการกับ Kubernetes
ชั้นที่สาม (ชั้นถาวรและควบคุมระยะไกล): เขียนไฟล์ sysmon.py ลงบนดิสก์และตั้งเป็นบริการระบบ ทุก 50 นาทีจะส่งคำขอไปยังปลายทางที่ผู้โจมตีควบคุม เพื่อให้สามารถส่งฟังก์ชันมัลแวร์ใหม่ ๆ ไปยังระบบที่ติดเชื้อได้อย่างต่อเนื่อง
โดเมนที่ใช้ในการสื่อสารมัลแวร์ประกอบด้วย models[.]litellm[.]cloud และ checkmarx[.]zone
องค์กรที่ติดตั้งหรือใช้งานเวอร์ชัน LiteLLM ที่ได้รับผลกระทบ (1.82.7 หรือ 1.82.8) ควรถือว่าระบบของตนถูกโจมตี เนื่องจากมัลแวร์มีความสามารถในการถาวรและอาจมีการติดตั้ง payload เพิ่มเติม การลบไลบรารีเพียงอย่างเดียวไม่เพียงพอ
แนะนำให้ดำเนินการทันที: เปลี่ยนรหัสผ่านและคีย์ที่อาจถูกเปิดเผย (รวมถึงคีย์การเข้าถึง AWS/GCP/Azure คีย์ SSH และ API); ตรวจสอบบันทึกการเชื่อมต่อออกไปยังโดเมนที่เกี่ยวข้องกับ models[.]litellm[.]cloud หรือ checkmarx[.]zone เพื่อหากิจกรรมผิดปกติ ลบไฟล์มัลแวร์ที่รู้จัก เช่น tpcp.tar.gz, /tmp/pglog, /tmp/.pg_state และบริการที่เกี่ยวข้องกับ sysmon.py หากเป็นไปได้ ให้สร้างระบบที่ได้รับการตรวจสอบว่าปลอดภัยจากสถานะก่อนหน้านี้ใหม่ทั้งหมด
เวอร์ชันที่ได้รับผลกระทบคือ 1.82.7 และ 1.82.8 ซึ่งมัลแวร์ถูกฝังในไฟล์ proxy_server.py (ทั้งสองเวอร์ชัน) และ litellm_init.pth (ในเวอร์ชัน 1.82.8) คำแนะนำคือให้ผู้ใช้ตรวจสอบเวอร์ชันที่ใช้อยู่และอัปเดตเป็นเวอร์ชันล่าสุดที่ปลอดภัย
มัลแวร์สามารถเก็บข้อมูลสำคัญเช่น คีย์ SSH, คีย์คลาวด์ของ AWS/GCP/Azure, ไฟล์คอนฟิก Kubernetes, โทเค็นของบัญชีบริการ, คีย์ API ในตัวแปรสภาพแวดล้อม, ประวัติคำสั่ง Shell, ข้อมูลกระเป๋าเงินคริปโต และรหัสผ่านฐานข้อมูล การโจมตีครอบคลุมทั้งสภาพแวดล้อมการพัฒนาท้องถิ่น กระบวนการ CI/CD และโครงสร้างพื้นฐานบนคลาวด์
สามารถตรวจสอบได้จากสัญญาณเตือน เช่น ไฟล์ tpcp.tar.gz, /tmp/pglog, /tmp/.pg_state ที่อยู่ในระบบ รวมถึงบริการถาวรที่เชื่อมโยงกับ sysmon.py และบันทึกการเชื่อมต่อออกไปยังโดเมนมัลแวร์ที่กล่าวมา ควรตรวจสอบบันทึกการเชื่อมต่อออกและกิจกรรมเครือข่ายผิดปกติด้วย