-
09/04/2020
-
128
-
1.727 bài viết
Nghi vấn: Nhóm tin tặc TeamPCP cài backdoor vào LiteLLM qua hệ thống CI/CD của Trivy
Một chiến dịch tấn công chuỗi cung ứng phần mềm đang tiếp tục leo thang khi nhóm tin tặc TeamPCP phát tán các phiên bản độc hại của thư viện Python litellm, nhắm trực tiếp vào môi trường phát triển và hệ thống vận hành.
Nhóm tin tặc TeamPCP, đứng sau các vụ xâm nhập Trivy và KICS gần đây, tiếp tục mở rộng chiến dịch khi phát tán hai phiên bản độc hại của thư viện Python litellm. Các phiên bản 1.82.7 và 1.82.8 được công bố ngày 24/03/2026 đã bị chèn mã độc với nhiều thành phần nguy hiểm, bao gồm công cụ thu thập thông tin nhạy cảm, khả năng di chuyển ngang trong Kubernetes và cơ chế backdoor duy trì truy cập. Hai phiên bản này hiện đã bị gỡ khỏi PyPI.
Phân tích từ các hãng bảo mật cho thấy khả năng cao chuỗi tấn công bắt nguồn từ việc dự án sử dụng Trivy trong quy trình tích hợp và triển khai tự động. Mã độc được thiết kế theo nhiều lớp, trước tiên âm thầm thu thập dữ liệu như khóa SSH, thông tin truy cập hệ thống cloud, dữ liệu mật trong Kubernetes, ví tiền điện tử và các file .env. Toàn bộ dữ liệu sau đó được nén, mã hóa và gửi về máy chủ điều khiển từ xa thông qua kết nối HTTPS.
Ở phiên bản 1.82.7, mã độc được chèn vào file litellm/proxy/proxy_server.py trong quá trình hoặc sau khi đóng gói thư viện. Cách triển khai được thiết kế để tự kích hoạt ngay khi module này được nạp vào chương trình, khiến bất kỳ ứng dụng nào sử dụng thành phần liên quan đều vô tình thực thi mã độc mà không cần thêm thao tác nào từ phía người dùng.
Phiên bản 1.82.8 nguy hiểm hơn khi bổ sung file litellm_init.pth tại thư mục gốc của wheel. Cơ chế này khiến mã độc tự động thực thi mỗi khi một tiến trình Python khởi động trong môi trường, không còn phụ thuộc vào việc import thư viện. Đồng thời, file này còn âm thầm tạo một tiến trình Python chạy nền riêng thông qua subprocess, tự giải mã payload rồi thực thi độc lập, khiến toàn bộ hoạt động tách khỏi chương trình chính và khó bị phát hiện hơn.
Sau khi kích hoạt, payload đóng vai trò điều phối, triển khai đồng thời thành phần thu thập thông tin và cơ chế duy trì truy cập. Trong môi trường Kubernetes, nó tận dụng quyền truy cập sẵn có để quét toàn bộ các máy trong cụm, sau đó tạo các tiến trình có quyền cao trên từng máy. Những tiến trình này can thiệp trực tiếp vào hệ thống và cài đặt thành phần duy trì truy cập dưới dạng dịch vụ hệ thống.
Dịch vụ này được cấu hình để chạy một đoạn mã Python tại đường dẫn ~/.config/sysmon/sysmon.py, trùng với tên từng xuất hiện trong vụ Trivy. Đoạn mã sẽ định kỳ kết nối ra ngoài để tải về phần mã độc tiếp theo. Nếu phản hồi chứa địa chỉ youtube.com, nó sẽ tự dừng, cho thấy có cơ chế “công tắc tắt” để kẻ tấn công kiểm soát từ xa.
Dữ liệu thu thập được sau đó được nén lại thành file tpcp.tar.gz và gửi về máy chủ điều khiển. Mỗi hệ thống bị xâm nhập sẽ trở thành bàn đạp để thu thập thêm thông tin truy cập, từ đó mở rộng sang các mục tiêu khác. Cách thức này tạo ra một vòng lây nhiễm liên tục và ngày càng lan rộng.
Hiện chiến dịch hiện đã lan sang nhiều nền tảng như GitHub, Docker, npm, Open VSX và kho lưu trữ Python. Việc từ môi trường triển khai tự động sang các gói phần mềm chạy trực tiếp trong hệ thống thực tế, đặc biệt là trong các cụm Kubernetes, cho thấy mức độ leo thang rõ rệt nhằm kiểm soát các điểm trọng yếu trong chuỗi cung ứng phần mềm.
Theo các chuyên gia từ Endor Labs và Wiz, vụ việc lần này chính là một "hiệu ứng tuyết lăn" đầy nguy hiểm trong giới bảo mật. Vụ việc bắt đầu từ việc một công cụ bảo mật bị chiếm quyền, kéo theo sự sụp đổ của các thư viện liên quan, khiến thông tin đăng nhập của hàng chục nghìn hệ thống khách hàng bị phơi bày, mở ra cơ hội cho những cuộc tấn công quy mô lớn hơn. Đáng ngại hơn, nhóm TeamPCP còn công khai trên Telegram rằng đây mới chỉ là bước mở đầu cho chiến dịch nhắm vào nhiều công cụ mã nguồn mở trong thời gian tới.
Để giảm thiểu rủi ro, cần nhanh chóng thực hiện các biện pháp sau:
- Rà soát toàn bộ môi trường để phát hiện litellm phiên bản 1.82.7 hoặc 1.82.8, nếu có cần thay thế ngay bằng phiên bản sạch
- Cô lập các hệ thống nghi bị ảnh hưởng để tránh lan rộng
- Kiểm tra trong các cụm Kubernetes nhằm phát hiện các pod bất thường có thể đã bị triển khai trái phép
- Phân tích lưu lượng mạng để xác định các kết nối tới models.litellm[.]cloud và checkmarx[.]zone
- Loại bỏ toàn bộ cơ chế duy trì truy cập mà mã độc có thể đã thiết lập
- Kiểm tra lại pipeline CI/CD, đặc biệt ở các giai đoạn có sử dụng Trivy và KICS
- Thu hồi và thay mới toàn bộ thông tin xác thực có nguy cơ bị lộ
Theo The Hacker News