1 điểm bởi GN⁺ 28 ngày trước | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Gói có chứa tệp .pth tự động chạy khi trình thông dịch Python khởi động, thực hiện thu thập và gửi ra ngoài thông tin nhạy cảm như API key, SSH key, cloud token
  • Script độc hại được che giấu bằng mã hóa base64 hai lớp, và dữ liệu thu thập được sẽ mã hóa bằng AES-256 rồi bảo vệ bằng khóa công khai RSA trước khi gửi tới litellm.cloud
  • Nếu bị nhiễm, thông tin xác thực trên môi trường local, CI/CD và máy chủ production đều có thể bị lộ
  • Có báo cáo cho thấy mã độc cũng tồn tại trong phiên bản 1.82.7, nên cả hai phiên bản đều nguy hiểm
  • Cộng đồng bảo mật khẩn cấp khuyến nghị gỡ bỏ gói, xoay vòng thông tin xác thực và tăng cường bảo mật chuỗi cung ứng

Sự cố bảo mật với tệp litellm_init.pth độc hại trong gói PyPI litellm 1.82.8

  • Gói wheel PyPI của litellm 1.82.8 có chứa tệp .pth độc hại (litellm_init.pth), khiến script đánh cắp thông tin xác thực tự động chạy mỗi khi trình thông dịch Python khởi động
  • Tệp này chạy ngay cả khi không có lệnh import litellm, và được xác nhận là một hình thức tấn công chuỗi cung ứng (Supply Chain)
  • Tệp độc hại được liệt kê trong tệp RECORD của package
  • Phân tích hành vi độc hại

    • Tệp .pth lợi dụng đặc tính tự động chạy khi trình thông dịch Python khởi động
    • Script độc hại được che giấu bằng mã hóa base64 hai lớp, và sau khi giải mã sẽ thực hiện các bước sau
  • Bước 1: Thu thập thông tin

    • Thông tin hệ thống: hostname, whoami, uname -a, ip addr, ip route
    • Biến môi trường: thu thập API key, secret, token... thông qua printenv
    • SSH key: các tệp khóa chính và tệp cấu hình trong ~/.ssh/
    • Thông tin xác thực Git: ~/.gitconfig, ~/.git-credentials
    • Thông tin xác thực cloud: tệp cấu hình và token liên quan đến AWS, GCP, Azure
    • Cấu hình Kubernetes: /etc/kubernetes/, ~/.kube/config...
    • Cấu hình Docker: ~/.docker/config.json...
    • Cấu hình trình quản lý package: .npmrc, .netrc, .vault-token...
    • Lịch sử shell: .bash_history, .zsh_history...
    • Ví tiền mã hóa: ~/.bitcoin/, ~/.ethereum/keystore/...
    • Khóa riêng SSL/TLS: /etc/ssl/private/, các tệp .pem, .key
    • Secret CI/CD: terraform.tfvars, .gitlab-ci.yml, Jenkinsfile...
    • Thông tin xác thực cơ sở dữ liệu: các tệp cấu hình của PostgreSQL, MySQL, Redis...
    • Webhook URL: tìm kiếm các URL như Slack, Discord...
  • Bước 2: Mã hóa và gửi ra ngoài

    • Lưu dữ liệu đã thu thập vào tệp tạm thời
    • Tạo khóa phiên AES-256 32 byte bằng openssl rand
    • Mã hóa dữ liệu bằng openssl enc -aes-256-cbc -pbkdf2
    • Khóa phiên được mã hóa bằng khóa công khai RSA 4096-bit được hardcode
    • Gộp hai tệp thành tpcp.tar.gz rồi gửi đi
    • Đích gửi: https://models.litellm.cloud/ (khác với domain chính thức litellm.ai)
  • Chi tiết kỹ thuật

    • Tệp .pth nằm trong site-packages/ của Python và tự động chạy khi trình thông dịch khởi động
    • Payload được che giấu bằng mã hóa base64 hai lớp để né phát hiện
    • Kẻ tấn công vận hành máy chủ rò rỉ dữ liệu bằng domain litellm.cloud
    • Phần mở đầu của khóa công khai RSA: MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvahaZDo8mucujrT15ry+...
  • Phạm vi ảnh hưởng

    • Khi cài đặt litellm==1.82.8, mọi bí mật như biến môi trường, SSH key, thông tin xác thực cloud... đều có thể bị rò rỉ
    • Đối tượng bị ảnh hưởng:
    • Môi trường phát triển local
    • Pipeline CI/CD
    • Container Docker
    • Máy chủ production
    • Ngoài ra, có báo cáo rằng phiên bản 1.82.7 cũng chứa mã độc trong proxy/proxy_server.py
  • Khuyến nghị ứng phó

      1. PyPI: gỡ bỏ hoặc yank ngay litellm 1.82.8
      1. Người dùng:
    • Kiểm tra xem có litellm_init.pth trong site-packages/ hay không
    • Xoay vòng (rotate) toàn bộ thông tin xác thực trên các hệ thống đã cài phiên bản đó
      1. BerriAI: cần rà soát bảo mật thông tin xác thực phát hành lên PyPI và pipeline CI/CD
  • Môi trường phát hiện

    • OS: Ubuntu 24.04 (Docker container)
    • Python: 3.13
    • Đường dẫn cài đặt: PyPI
    • Thời điểm phát hiện: ngày 24 tháng 3 năm 2026
  • Phản ứng cộng đồng và thảo luận thêm

    • Nhiều nhà phát triển cho rằng “hàng nghìn người có thể đã bị nhiễm
    • Một số người dùng xác nhận phiên bản 1.82.7 cũng đã bị nhiễm
    • Các chuyên gia bảo mật nhấn mạnh sự cần thiết của ghim phiên bản phụ thuộc (pinning)tăng cường bảo mật chuỗi cung ứng
    • agnosticlines và những người khác chỉ ra lỗ hổng của GitHub Actionsviệc các cuộc tấn công chuỗi cung ứng liên tục tái diễn
    • MountainGod2 cảnh báo rằng “phụ thuộc nên được ghim theo commit hash, và chỉ dùng bản phát hành mới sau khi đã xác minh
    • Nhiều dự án (mlflow, home-assistant, morphik-core...) đã ghim phiên bản litellm hoặc loại bỏ nó

Chưa có bình luận nào.

Chưa có bình luận nào.