Hai bản phát hành LiteLLM độc hại đã tồn tại trên PyPI trong khoảng 40 phút vào tháng 3, mang theo mã độc đánh cắp thông tin xác thực có khả năng thu thập cloud keys, SSH keys, Kubernetes tokens, mật khẩu cơ sở dữ liệu và các bí mật khác từ các hệ thống đã cài đặt chúng.
Công ty tình báo mối đe dọa CloudSEK hiện cho biết một tập dữ liệu mà họ thu thập được, được xây dựng từ khoảng 434.000 tệp tin mà những kẻ tấn công đã chiếm đoạt, cho thấy khả năng bị ảnh hưởng của hơn 2.500 tổ chức.
Những con số này không hẳn là số lượng nạn nhân trực tiếp. CloudSEK chia sẻ với The Hacker News rằng các tài liệu này đến từ những nguồn tình báo bảo mật và bao gồm các tệp tin nhật ký cũng như dữ liệu bị đánh cắp mà họ đánh giá là thuộc về chiến dịch tấn công, chứ không phải dữ liệu thu thập trực tiếp từ các tổ chức bị nêu tên. Nói cách khác, các tệp tin này đã bị chiếm đoạt từ trước.
CloudSEK đã công bố tập dữ liệu này dưới dạng một công cụ tra cứu công khai, có thể tìm kiếm theo tên hoặc domain và lọc theo mức độ tin cậy. Mỗi hàng cung cấp tên và domain của tổ chức, số lượng bí mật bị lộ, số lần thực thi (runs) và nhãn xếp hạng "High" (Cao) hoặc "Medium" (Trung bình).
Một kết quả khớp có độ tin cậy cao khẳng định tệp tin đó đến từ hệ thống của ai. Phán quyết này dựa trên các tín hiệu nhận dạng trong môi trường CI runner bị chiếm giữ, chủ yếu là định danh máy chủ (host identity) và các domain của người cam kết (committer) hợp lệ. Domain của chính tổ chức đó phải xuất hiện trước khi một kết quả khớp được xếp hạng cao nhất.
Các tổ chức lớn nằm trong danh sách rủi ro
Các không gian tên (namespaces) của kho lưu trữ chỉ hỗ trợ mức độ tin cậy trung bình. NVIDIA, Cisco, Deloitte, Volkswagen, FedEx, Siemens và X Corp nằm trong số các mục nhập. Tuy nhiên, điều này không khẳng định rằng các thông tin xác thực bị đánh cắp đã được sử dụng, đó là lý do tại sao cả CloudSEK và LiteLLM đều khuyến cáo các bên bị ảnh hưởng nên thay đổi thông tin xác thực (rotate) ngay lập tức thay vì chờ đợi bằng chứng.
LiteLLM là một cổng AI mã nguồn mở được sử dụng để kết nối các ứng dụng với nhiều nhà cung cấp mô hình. Dự án đã xác định các phiên bản 1.82.7 và 1.82.8 bị xâm nhập và cho biết chúng đã tồn tại trên PyPI vào ngày 24 tháng 3 từ lúc 10:39 UTC trong khoảng 40 phút trước khi bị PyPI cách ly. Tuy nhiên, dự án khuyến cáo người dùng nên coi bất kỳ hoạt động cài đặt nào trong ngày hôm đó cho đến 16:00 UTC đều là đáng ngờ.
The Hacker News đã xác nhận qua PyPI vào ngày 12 tháng 8 rằng cả hai phiên bản trên đều không xuất hiện trong lịch sử phát hành của gói, trong khi các phiên bản 1.82.6 và 1.83.0 vẫn khả dụng.
Cảnh báo từ FBI và nguy cơ dài hạn
FBI đã cảnh báo trong một thông báo vào ngày 2 tháng 7 (FLASH-20260702-01) rằng các tác nhân liên quan có khả năng sẽ vũ khí hóa các thông tin xác thực đã bị đánh cắp trong chiến dịch TeamPCP một thời gian dài sau lần xâm nhập ban đầu. Cơ quan này yêu cầu các tổ chức thay đổi các bí mật CI/CD, publishing tokens và cloud credentials có thể đã bị tiếp cận trong cửa sổ thời gian bị ảnh hưởng.
Một bí mật dài hạn bị sao chép trong khoảng thời gian đó — như static cloud key, SSH key hoặc publishing token — vẫn có thể sử dụng được trừ khi nó đã được thay đổi hoặc thu hồi. Đó là lý do tại sao hướng dẫn của FBI tập trung vào thông tin xác thực thay vì chỉ gói phần mềm, và tại sao cả FBI và Aqua đều khuyến nghị các nhóm chuyển từ các token dài hạn sang các token tạm thời.
Phiên bản 1.82.8 bao gồm một tệp có tên litellm_init.pth mà Python sẽ xử lý khi trình thông dịch khởi động. Do đó, nó sẽ chạy bất cứ khi nào một tiến trình Python bắt đầu trong môi trường đó, bất kể có lệnh import LiteLLM hay không.
Các gói bị xâm nhập được thiết kế để thu thập biến môi trường, SSH keys, cloud credentials, Kubernetes tokens và mật khẩu cơ sở dữ liệu trước khi mã hóa và gửi dữ liệu bị đánh cắp đến models.litellm[.]cloud, một domain do kẻ tấn công kiểm soát và không liên quan đến dự án.
Phân tích chiến dịch của Unit 42 ghi nhận payload đọc các biến môi trường chứa model API keys, bao gồm OPENAI_API_KEY và ANTHROPIC_API_KEY.
Hành vi này làm thay đổi câu hỏi sàng lọc thông thường. Việc một nhóm có chủ đích sử dụng LiteLLM hay không ít quan trọng hơn việc liệu có bất kỳ thứ gì trên máy chủ đã cài đặt nó hay không. Thông báo của dự án lưu ý rằng một phụ thuộc bắc cầu không được ghim phiên bản (unpinned transitive dependency), bao gồm cả những phụ thuộc được kéo vào bởi một agent framework hoặc công cụ điều phối, có thể đã cài đặt mã độc mà người dùng không hề hay biết.
Mối liên hệ với vụ tấn công Trivy
Sự cố LiteLLM nằm trong một chiến dịch chuỗi cung ứng TeamPCP rộng lớn hơn liên quan đến trình quét Trivy của Aqua Security. Google theo dõi TeamPCP dưới tên mã UNC6780. Aqua cho biết những kẻ tấn công vẫn giữ được quyền truy cập sau khi việc thay đổi thông tin xác thực không được thực hiện triệt để. Vào ngày 19 tháng 3, chúng đã "force-push" các commit độc hại vào 76 trên 77 version tags của trivy-action và tất cả 7 tags setup-trivy, đồng thời phát hành bản Trivy 0.69.4 độc hại.
Sự xâm nhập hệ sinh thái này được theo dõi dưới mã CVE-2026-33634, đã được đưa vào danh mục Các lỗ hổng bị khai thác đã biết của CISA vào ngày 26 tháng 3. Bản ghi CVE hiện liệt kê BerriAI LiteLLM phiên bản 1.82.7 đến 1.82.8 bị ảnh hưởng cùng với các thành phần của Trivy.
Hệ quả đối với các doanh nghiệp
Tác động hạ nguồn của chiến dịch đã được xác nhận. Checkmarx cho biết các thông tin xác thực thu được thông qua cuộc tấn công Trivy đã cho phép truy cập trái phép vào các kho lưu trữ GitHub của họ. Mercor xác nhận họ bị ảnh hưởng bởi các phiên bản LiteLLM độc hại và đã phải ngăn chặn các hoạt động trái phép.
CERT-EU cũng đánh giá với độ tin cậy cao rằng một tài khoản AWS của Ủy ban Châu Âu đã bị xâm nhập thông qua cuộc tấn công chuỗi cung ứng Trivy, với khoảng 91,7 GB dữ liệu nén bị đánh cắp.
Các bước tổ chức cần thực hiện ngay:
- Kiểm tra các cài đặt LiteLLM 1.82.7 hoặc 1.82.8 trong khoảng thời gian từ 10:39 đến 16:00 UTC ngày 24 tháng 3.
- Thay đổi (Rotate) bất kỳ bí mật nào mà các hệ thống đó có quyền truy cập.
- Tìm kiếm trong tổ chức GitHub của mình các kho lưu trữ có tên
tpcp-docshoặcdocs-tpcp, mà FBI liệt kê là các dấu hiệu của chiến dịch. Lưu ý rằng mã độc có thể tạo các kho lưu trữ với tiền tốtpcp-docs-và tải dữ liệu bị đánh cắp lên dưới dạng release asset được gắn tagdata-<timestamp>.