Bảo mật & quyền riêng tư

Cuộc tấn công chuỗi cung ứng LiteLLM đánh cắp thông tin đăng nhập qua token GitHub bị rò rỉ

Tin tặc đã xâm phạm LiteLLM v1.107.0 bằng cách sử dụng các token GitHub CLI bị rò rỉ được tìm thấy trong nhật ký, chèn mã đánh cắp thông tin đăng nhập và cửa hậu (backdoor) vào các kho lưu trữ PyPI và Docker.

Minh họa một cuộc tấn công chuỗi cung ứng với một thành phần bị hỏng ảnh hưởng đến luồng dữ liệu
Ảnh minh họa tạo riêng cho bài viết

Bài được dịch tự động từ bản gốc tiếng Anh.

Vào ngày 21 tháng 10 năm 2026, các nhóm đe dọa đã xâm phạm quy trình phát hành của LiteLLM, một thư viện cổng AI mã nguồn mở, để phân phối một phiên bản phần mềm độc hại. Tin tặc đã khai thác các token OAuth GitHub CLI bị rò rỉ, có khả năng được thu thập từ nhật ký ứng dụng, để vượt qua các biện pháp kiểm soát bảo mật và đẩy các tạo tác (artifacts) bị nhiễm độc lên các kho lưu trữ gói chính.

Chuyện gì đã xảy ra

Sự cố bắt đầu khoảng 4:00 sáng giờ PST khi tin tặc công bố LiteLLM phiên bản 1.107.0 trên Python Package Index (PyPI), Docker Hub và GitHub Container Registry (GHCR). Phiên bản bị xâm phạm này chứa một công cụ đánh cắp thông tin đăng nhập và một cửa hậu được thiết kế để thu thập các bí mật (secrets) từ các hệ thống bị ảnh hưởng. Người dùng tải xuống các phiên bản không được ghim (unpinned versions) qua pip giữa 11:39 sáng và 1:23 chiều UTC, hoặc kéo (pull) các thẻ Docker cụ thể giữa 11:46 sáng và 2:20 chiều UTC, đã bị phơi nhiễm với phần mềm độc hại.

Mã độc hại áp dụng phương pháp tiếp cận kép để đảm bảo tính bền vững và thực thi. Nó sử dụng một tệp đường dẫn Python tên là "cook.pth" để nhập một script gọi là "cook.py", script này tự giải mã (deobfuscate) để chạy một routine tên là "privcollect". Routine này thu thập các bí mật của hệ thống, trình duyệt, đám mây và công cụ AI, sau đó truyền chúng về một miền do tin tặc kiểm soát. Ngoài ra, trên các máy Linux và macOS, phần mềm độc hại thực thi "sitecustomize.py" để lấy thêm chỉ thị từ một repository GitHub, thiết lập một Trojan truy cập từ xa (remote access trojan) gửi yêu cầu kiểm tra lệnh mới mỗi giờ.

Các nhà duy trì LiteLLM đã truy vết vụ vi phạm đến sự kết hợp giữa các thay đổi vận hành và việc lộ nhật ký. Mặc dù dự án gần đây đã tăng cường quy trình phát hành bằng cách ký các hình ảnh (images) và sử dụng các repository riêng tư, quyền hạn đã được tạm thời mở rộng để cho phép hai kỹ sư công bố các bản sửa lỗi hàng ngày. Tin tặc đã truy cập ba bộ thông tin đăng nhập GitHub CLI của nhà phát triển, nghi ngờ rằng các token này được nhúng trong nội dung phản hồi được ghi lại bởi một triển khai LiteLLM nội bộ được kết nối với internet. Một token thuộc về chủ sở hữu tổ chức cho phép tin tặc vô hiệu hóa các biện pháp bảo vệ nhánh và force-push các thay đổi độc hại vào một repository giả mạo, lừa quy trình CI/CD ký và công bố các tạo tác bị nhiễm độc.

Chi tiết chính

  • Phiên bản bị xâm phạm: LiteLLM v1.107.0 trên PyPI; v1.107.0, latest, main-latest và main-stable trên Docker và GHCR.
  • Khoảng thời gian ảnh hưởng: Người dùng PyPI giữa 11:39 sáng và 1:23 chiều UTC; người dùng Docker giữa 11:46 sáng và 2:20 chiều UTC vào ngày 21 tháng 10 năm 2026.
  • Hành vi của phần mềm độc hại: Thu thập thông tin đăng nhập qua "privcollect" và thiết lập tín hiệu beacon hàng giờ tới máy chủ điều khiển và chỉ huy (command-and-control server) sử dụng GitHub làm điểm giao nhận (dead drop).
  • Phương thức tấn công: Các token OAuth GitHub CLI bị rò rỉ được tìm thấy trong nhật ký LiteLLM đã được sử dụng để xác thực và thao túng quy trình phát hành.
  • Sau khi khai thác: Thông tin đăng nhập AWS bị đánh cắp đã được xác thực trong vòng 4,5 giờ, với tin tặc thực hiện các hoạt động LLMjacking như liệt kê các mô hình nền tảng (foundation models).
  • Trạng thái giảm thiểu: GitHub đã xóa repository độc hại vào khoảng 1:30 chiều UTC; LiteLLM kể từ đó đã thu hồi quyền hạn và xoay vòng thông tin đăng nhập.

Bối cảnh

Các cuộc tấn công chuỗi cung ứng nhắm vào các phụ thuộc (dependencies) và quy trình xây dựng phần mềm thay vì trực tiếp vào các ứng dụng người dùng cuối. Trong trường hợp này, tin tặc không cần khai thác lỗ hổng trong chính mã LiteLLM mà thay vào đó xâm phạm cơ chế được sử dụng để phân phối nó. Bằng cách chèn mã độc vào gói chính thức được hàng nghìn nhà phát triển tin tưởng, họ đảm bảo sự phân phối rộng rãi mà không gây nghi ngờ ngay lập tức.

Việc sử dụng các token OAuth GitHub CLI làm nổi bật một rủi ro phổ biến trong các quy trình phát triển hiện đại. Các token này cấp quyền truy cập theo chương trình vào các tài nguyên GitHub và có thể có đặc quyền cao. Khi các token này vô tình được ghi lại dưới dạng văn bản thuần túy—thường bởi các trợ lý lập trình AI hoặc nhật ký ứng dụng chi tiết—chúng trở thành mục tiêu dễ dàng cho tin tặc quét tìm thông tin đăng nhập có thể truy cập. Một khi có được, các token này có thể bỏ qua xác thực đa yếu tố nếu phiên vẫn còn hoạt động, cho phép tin tặc hành động như những nhà phát triển hợp lệ.

Tại sao điều này quan trọng

Đối với các đội ngũ vận hành phần mềm của riêng mình, sự cố này nhấn mạnh sự mong manh của niềm tin vào các phụ thuộc mã nguồn mở. Ngay cả các dự án có thực hành bảo mật mạnh mẽ, chẳng hạn như tạo tác được ký và thẻ bất biến, cũng có thể bị xâm phạm nếu các quy trình do con người vận hành bị suy yếu. Việc mở rộng quyền hạn phát hành tạm thời, nhằm mục đích cải thiện tốc độ phát triển, đã tạo ra một bề mặt tấn công mà đối thủ khai thác. Điều này nhắc nhở rằng các tính năng tiện lợi trong pipeline CI/CD phải được giới hạn phạm vi và giám sát cẩn thận.

Hơn nữa, việc lộ thông tin đăng nhập qua nhật ký là một vấn đề vệ sinh bảo mật dai dẳng. Nhiều ứng dụng tự host và cổng AI ghi lại nội dung yêu cầu và phản hồi cho mục đích gỡ lỗi. Nếu các nhật ký này chứa token hoặc khóa nhạy cảm, bất kỳ vụ vi phạm hạ tầng nhật ký nào—hoặc thậm chí việc vô tình công khai một endpoint gỡ lỗi—có thể dẫn đến sự xâm phạm thảm khốc. Các đội ngũ phải giả định rằng nhật ký là các kho chứa bí mật tiềm năng và xử lý chúng với mức độ nghiêm ngặt bảo mật tương tự như nội dung cơ sở dữ liệu.

Tốc độ mà tin tặc sử dụng thông tin đăng nhập bị đánh cắp cho thấy tính cấp bách của phản ứng sự cố. Trong vòng vài giờ sau khi dữ liệu bị truyền đi, các đối thủ đã tích cực liệt kê các tài nguyên đám mây và xác thực quyền truy cập. Đối với các trưởng nhóm IT và DevOps, điều này có nghĩa là các cơ chế phát hiện và xoay vòng phải được tự động hóa và tức thì. Chờ đợi điều tra thủ công trước khi xoay vòng khóa cho phép tin tặc đủ thời gian để thiết lập tính bền vững và di chuyển ngang trong môi trường đám mây.

Những gì bạn có thể làm

  • Kiểm tra phiên bản đã cài đặt: Ngay lập tức xác minh xem LiteLLM v1.107.0 hoặc bất kỳ thẻ Docker bị ảnh hưởng nào có tồn tại trong môi trường của bạn hay không và loại bỏ chúng nếu tìm thấy.
  • Xoay vòng tất cả thông tin đăng nhập: Giả định rằng mọi bí mật được lưu trữ trên các hệ thống đã chạy phiên bản bị xâm phạm đều bị lộ. Xoay vòng API keys, thông tin đăng nhập đám mây và token GitHub ngay lập tức.
  • Kiểm toán nhật ký tìm token: Xem xét nhật ký ứng dụng và cổng AI của bạn để đảm bảo không có token OAuth hoặc bí mật nào được ghi lại dưới dạng văn bản thuần túy. Triển khai các bộ lọc làm sạch nhật ký.
  • Giới hạn quyền hạn phát hành: Tránh mở rộng quyền hạn phát hành tạm thời. Nếu cần thiết, hãy sử dụng các token có phạm vi hẹp và thời hạn ngắn, đồng thời yêu cầu các bước phê duyệt bổ sung khi công bố lên các kho lưu trữ công khai.
  • Ghim phiên bản phụ thuộc: Luôn ghim các phiên bản cụ thể của thư viện bên thứ ba trong tệp requirements của bạn để ngăn chặn việc cài đặt tự động các bản cập nhật có khả năng bị xâm phạm.
  • Giám sát hoạt động đáng ngờ: Kiểm tra nhật ký kiểm toán đám mây cho các cuộc gọi API bất thường, chẳng hạn như việc liệt kê mô hình không mong muốn hoặc liệt kê IAM, có thể chỉ ra các nỗ lực LLMjacking.

Tin khác

Tất cả tin