10 gói mã độc hại phân bổ vào cơ sở đăng ký PyPI

Nút nguồn: 1613839

Các quản trị viên của Python Package Index (PyPI) đã xóa 10 gói mã phần mềm độc hại khỏi sổ đăng ký sau khi một nhà cung cấp bảo mật thông báo cho họ về sự cố này.

Sự cố này là sự cố mới nhất trong danh sách các trường hợp đang gia tăng nhanh chóng gần đây trong đó các tác nhân đe dọa đã đặt phần mềm giả mạo trên các kho lưu trữ phần mềm được sử dụng rộng rãi như PyPI, Trình quản lý gói nút (npm) và Maven Central, với mục tiêu xâm phạm nhiều tổ chức. Các nhà phân tích bảo mật đã mô tả xu hướng này là làm tăng đáng kể nhu cầu của các nhóm phát triển thực hiện thẩm định khi tải xuống mã nguồn mở và bên thứ ba từ các cơ quan đăng ký công khai.

Các nhà nghiên cứu tại Spectralops.io của Check Point đã phát hiện ra bộ gói độc hại mới nhất này trên PyPI và nhận thấy chúng là công cụ phát tán phần mềm độc hại đánh cắp thông tin. Các gói được thiết kế trông giống như mã hợp pháp — và trong một số trường hợp bắt chước các gói phổ biến khác trên PyPI.

Mã độc hại trong Tập lệnh cài đặt

Các nhà nghiên cứu của Check Point đã phát hiện ra rằng các tác nhân đe dọa đã đặt phần mềm độc hại vào sổ đăng ký đã nhúng mã độc vào kịch bản cài đặt gói. Vì vậy, khi nhà phát triển sử dụng lệnh cài đặt “pip” để cài đặt bất kỳ gói giả mạo nào, mã độc sẽ chạy mà không được chú ý trên máy của người dùng và cài đặt trình nhỏ giọt phần mềm độc hại.

Ví dụ: một trong các gói giả mạo có tên “Ascii2text” chứa mã độc trong tệp (_init_.py) được nhập bởi tập lệnh cài đặt (setup.py). Khi nhà phát triển cố gắng cài đặt gói, mã sẽ tải xuống và thực thi một tập lệnh tìm kiếm mật khẩu cục bộ, sau đó tải tập lệnh này lên máy chủ Discord. Theo Check Point, gói độc hại này được thiết kế trông giống hệt một gói tác phẩm nghệ thuật phổ biến có cùng tên và mô tả.

Ba trong số 10 gói giả mạo (Pyg-utils, Pymocks và PyProto2) dường như đã được phát triển bởi cùng một tác nhân đe dọa đã triển khai phần mềm độc hại gần đây cho đánh cắp thông tin đăng nhập AWS trên PyPI. Trong quá trình cài đặt setup.py, chẳng hạn như Py-Utils đã kết nối với cùng một miền độc hại như miền được sử dụng trong chiến dịch đánh cắp thông tin xác thực AWS. Mặc dù Pymocks và PyProto2 đã kết nối với một miền độc hại khác trong quá trình cài đặt, nhưng mã của chúng gần giống với Pyg-utils, khiến Check Point tin rằng cùng một tác giả đã tạo ra cả ba gói.

Các gói khác bao gồm một trình tải xuống phần mềm độc hại có khả năng được gọi là Test-async được cho là một gói để kiểm tra mã; một được gọi là WINRPCexploit để đánh cắp thông tin đăng nhập của người dùng trong quá trình cài đặt setup.py; và hai gói (Free-net-vpn và Free-net-vpn2) để đánh cắp các biến môi trường. 

Check Point cảnh báo: “Điều cần thiết là các nhà phát triển phải giữ hành động của mình an toàn, kiểm tra kỹ mọi thành phần phần mềm đang được sử dụng và đặc biệt là những thành phần đang được tải xuống từ các kho lưu trữ khác nhau”.

Nhà cung cấp bảo mật đã không trả lời ngay lập tức khi được hỏi các gói độc hại có thể đã có sẵn trong sổ đăng ký PyPI trong bao lâu hoặc có bao nhiêu người có thể đã tải xuống chúng.

Tiếp xúc chuỗi cung ứng ngày càng tăng

Sự cố này là sự cố mới nhất làm nổi bật những mối nguy hiểm ngày càng tăng của việc tải xuống mã của bên thứ ba từ các kho lưu trữ công khai mà không có sự kiểm tra thích hợp.

Mới tuần trước, Sonatype báo cáo phát hiện ba gói chứa ransomware mà một hacker tuổi đi học ở Ý đã tải lên PyPI như một phần của cuộc thử nghiệm. Hơn 250 người dùng đã tải xuống một trong các gói, 11 người trong số họ cuối cùng đã mã hóa các tệp trên máy tính của họ. Trong trường hợp đó, các nạn nhân có thể lấy khóa giải mã mà không phải trả tiền chuộc vì tin tặc rõ ràng đã tải phần mềm độc hại lên mà không có ý đồ xấu. 

Tuy nhiên, đã có nhiều trường hợp khác mà những kẻ tấn công đã sử dụng kho lưu trữ mã công khai làm bệ phóng để phát tán phần mềm độc hại.

Đầu năm nay, Sonatype cũng đã phát hiện ra một gói độc hại để tải xuống bộ công cụ tấn công Cobalt Strike trên PyPI. Về 300 nhà phát triển đã tải xuống phần mềm độc hại trước khi nó được gỡ bỏ. Vào tháng XNUMX, các nhà nghiên cứu từ Kaspersky đã phát hiện ra bốn kẻ đánh cắp thông tin rất khó hiểu ẩn nấp trên kho lưu trữ npm được sử dụng rộng rãi cho các lập trình viên Java.

Những kẻ tấn công đã bắt đầu nhắm mục tiêu ngày càng nhiều vào các cơ quan đăng ký này vì phạm vi tiếp cận rộng của chúng. Ví dụ, PyPI đã kết thúc 613,000 người dùng và mã từ trang web hiện được nhúng trong hơn 391,000 dự án trên toàn thế giới. Các tổ chức thuộc mọi quy mô và loại hình — bao gồm các công ty trong danh sách Fortune 500, nhà xuất bản phần mềm và cơ quan chính phủ — sử dụng mã từ các kho lưu trữ công cộng để xây dựng phần mềm của riêng họ.

Dấu thời gian:

Thêm từ Đọc tối