Công cụ Python để phân tích dữ liệu, hoạt động một nửa ngày, đã trở thành phần mềm độc hại: nó đã đánh cắp các khóa và token.

Công cụ Python để phân tích dữ liệu, hoạt động một nửa ngày, đã trở thành phần mềm độc hại: nó đã đánh cắp các khóa và token.

11 hardware

Một kẻ tội phạm mạng đã đăng tải phiên bản độc hại của gói elementary‑data lên PyPI

Một kẻ tấn công lạ đã tải lên kho lưu trữ PyPI một phiên bản đã được sửa đổi của 0.23.3 công cụ *elementary-data* – một công cụ giám sát dữ liệu. Gói độc hại thu thập và gửi tới máy chủ từ xa các thông tin bảo mật: khóa SSH, thông tin đăng nhập AWS, token API, cũng như các tệp ví tiền điện tử (Bitcoin, Litecoin, Dogecoin, Ethereum). Các dữ liệu đã được thu thập đóng gói vào một khoá `trin.tar.gz` và chuyển giao cho kẻ tấn công.

Cách truy cập kho lưu trữ

Kẻ tấn công lợi dụng lỗ hổng trong một trong các quy trình làm việc GitHub Actions của dự án *elementary‑data*. Khi nhận được token `GITHUB_TOKEN` tự động cấp phát, anh ta tạo một pull request thay thế gói nguồn bằng phiên bản độc hại. Nhờ vào workflow tự động, PR đã được chấp nhận và phát hành bản bị nhiễm.

Thời gian tồn tại của gói độc hại

- 25 tháng Tư, 02:20 (MSK) – kẻ tấn công tải lên phiên bản độc hại trên PyPI.
- 02:24 – anh ta cũng đăng một Docker‑image bị nhiễm vào GitHub Container Registry, mở rộng phạm vi tấn công.
- 13:45 cùng ngày – các quản trị viên của dự án đã xóa tất cả các tệp bị lạm dụng và phát hành phiên bản sạch 0.23.4.

Như vậy, gói độc hại đã có sẵn cho người dùng hơn 11 giờ, tạo cơ hội rò rỉ dữ liệu.

Các thành phần bị ảnh hưởng

Các nhà phát triển xác nhận rằng các phần còn lại của hệ sinh thái – *Elementary dbt*, tài nguyên Elementary Cloud và các phiên bản khác của dự án – không bị ảnh hưởng bởi sự cố này.

Làm gì cho người dùng
1. Gỡ bỏ phiên bản 0.23.3 đã nhiễm và cài đặt bản phát hành an toàn 0.23.4.
2. Xóa bộ nhớ đệm gói (`pip cache purge` hoặc công cụ tương tự).
3. Xóa tệp đánh dấu `.trinny-security-update` nếu nó tồn tại – sự hiện diện của nó cho thấy mã độc đã được thực thi.

Các biện pháp đã được nhà phát triển thực hiện
- Cập nhật token đăng tải PyPI.
- Đánh giá và cập nhật lại các token GitHub và GitHub Container Registry.
- Xóa workflow bị lỗi trong GitHub Actions; kiểm tra an toàn các quy trình làm việc còn lại.

Như vậy, đội ngũ *elementary‑data* đã khôi phục quyền kiểm soát kho lưu trữ và bảo vệ người dùng khỏi những mối đe dọa tiếp theo.

Bình luận (0)

Chia sẻ ý kiến của bạn — vui lòng lịch sự và đúng chủ đề.

Chưa có bình luận nào. Hãy để lại bình luận và chia sẻ ý kiến của bạn!

Để bình luận, vui lòng đăng nhập.

Đăng nhập để bình luận