Các gói PyPI, npm và Ruby độc hại bị phát hiện trong các cuộc tấn công chuỗi cung ứng nguồn mở đang diễn ra

08:03 | 09/06/2025

Một số gói độc hại đã được phát hiện trên các kho lưu trữ gói npm, Python và Ruby có chức năng rút tiền từ ví tiền điện tử, xóa toàn bộ codebases sau khi cài đặt và đánh cắp mã thông báo API của Telegram, điều này một lần nữa chứng minh sự đa dạng của các mối đe dọa chuỗi cung ứng ngụy trang trong các hệ sinh thái mã nguồn mở.

Những phát hiện này đến từ nhiều báo cáo được các hãng bảo mật Checkmarx, ReversingLabs, Safety và Socket công bố trong những ngày gần đây. Hãng bảo mật Socket (Mỹ) lưu ý rằng hai gói độc hại của Ruby đã được một tác nhân đe dọa phát tán dưới các bí danh Bùi Nam, buidanhnam và si_mobile, chỉ vài ngày sau khi ứng dụng nhắn tin Telegram bị chặn ở Việt Nam vào cuối tháng trước, do vi phạm trên không gian mạng và ứng dụng này ngày càng bị lạm dụng cho các hoạt động vi phạm pháp luật

“Tác nhân đe dọa này đã bí mật rò rỉ tất cả dữ liệu được gửi đến API Telegram, bằng cách chuyển hướng lưu lượng truy cập qua máy chủ điều khiển và ra lệnh (C2) do chúng kiểm soát. Dữ liệu này bao gồm mã thông báo bot, ID trò chuyện, nội dung tin nhắn và tệp đính kèm”, nhà nghiên cứu Kirill Boychenko của Socket cho biết.

Socket nhấn mạnh các gói độc hại này là “bản sao gần như giống hệt nhau” của plugin Fastlane hợp pháp “fastlane-plugin-telegram”, một thư viện được sử dụng rộng rãi để gửi thông báo triển khai đến các kênh Telegram từ CI/CD pipeline.

Các gói PyPI, npm và Ruby độc hại

Do các gói độc hại không giới hạn theo khu vực và không có logic phân định địa lý, nên các nhà nghiên cứu nhận định rằng những kẻ tấn công chỉ lợi dụng lệnh cấm Telegram tại Việt Nam để phân phối các thư viện giả mạo dưới dạng proxy.

“Chiến dịch này minh họa cho việc các tác nhân đe dọa có thể khai thác các sự kiện địa chính trị nhanh như thế nào để phát động các cuộc tấn công chuỗi cung ứng có mục tiêu. Bằng cách lạm dụng một công cụ phát triển được sử dụng rộng rãi như Fastlane, đồng thời ngụy trang chức năng đánh cắp thông tin xác thực đằng sau một dịch vụ proxy, tin tặc đã tận dụng sự tin tưởng của các nhà phát triển trong hệ sinh thái mã nguồn mở để xâm nhập vào môi trường CI/CD”, Boychenko chia sẻ.

Bên cạnh đó, Socket cho biết họ cũng phát hiện ra một gói npm có tên “xlsx-to-json-lh” và kích hoạt một payload độc hại. Gói này chứa một payload ẩn thiết lập kết nối liên tục đến máy chủ C2. Nhà nghiên cứu bảo mật Kush Pandya cho biết: “Khi được kích hoạt, nó có thể xóa toàn bộ thư mục project mà không có cảnh báo hoặc tùy chọn khôi phục”.

Cụ thể, các hành động phá hủy được kích hoạt khi lệnh tiếng Pháp “remise à zéro” (có nghĩa là “đặt lại”) được đưa ra bởi máy chủ C2, điều này sẽ yêu cầu gói độc hại xóa các tệp mã nguồn, dữ liệu kiểm soát phiên bản, tệp cấu hình, node_modules và tất cả các tài sản của project.

Một tập hợp các gói npm độc hại khác, bao gồm pancake_uniswap_validators_utils_snipe, pancakeswap-oracle-prediction, ethereum-smart-contract và env-process cũng đã được phát hiện có thể đánh cắp từ 80 đến 85% số tiền có trong ví Ethereum hoặc BSC của nạn nhân, bằng cách sử dụng mã JavaScript được che giấu và chuyển chúng vào ví do kẻ tấn công kiểm soát. Các gói này được tải lên bởi người dùng có tên @crypto-exploit, đã thu hút hơn 2.100 lượt người dùng tải xuống. Hiện tại, chúng đã không còn khả dụng.

Các gói độc hại tương tự theo chủ đề tiền điện tử được phát hiện trên PyPI đã kết hợp chức năng bí mật để đánh cắp khóa riêng tư Solana, mã nguồn và dữ liệu nhạy cảm khác từ các hệ thống bị xâm phạm. Cần lưu ý rằng trong khi gói “semantic-types” là vô hại khi lần đầu tiên được tải lên vào ngày 22/12/2024, thì payload độc hại đã được phát hiện dưới dạng bản cập nhật vào ngày 26/01/2025.

Kẻ tấn công đứng sau các gói Python, với bí danh “cappership” để xuất bản chúng lên kho lưu trữ, được cho là đã sử dụng các tệp README đã được chỉnh sửa và liên kết chúng với kho lưu trữ GitHub nhằm tạo độ tin cậy và lừa người dùng tải xuống.

“Mỗi lần tạo cặp khóa, phần mềm độc hại sẽ đánh cắp được khóa bí mật. Sau đó, nó tiếp tục mã hóa bằng khóa công khai RSA‑2048 và mã hóa kết quả trong Base64. Khóa được mã hóa được nhúng trong giao dịch spl[.]memo và được gửi đến Solana Devnet, nơi tác nhân đe dọa có thể lấy và giải mã khóa để có toàn quyền truy cập vào ví bị đánh cắp”, Boychenko cho biết.

Mặt khác, theo hãng bảo mật Safety (Canada), 11 gói Python độc hại nhắm vào hệ sinh thái Solana đã được tải lên PyPI từ ngày 4 đến ngày 24/5/2025. Các gói này được thiết kế để đánh cắp các tệp tập lệnh Python từ hệ thống của nhà phát triển và truyền chúng đến một máy chủ bên ngoài. Một trong những gói được xác định, đó là “solana-live”, cũng được phát hiện nhắm vào Jupyter Notebooks để đánh cắp thông tin.

Trong một dấu hiệu cho thấy kỹ thuật typosquatting vẫn tiếp tục là một phương thức tấn công đáng kể, công ty an ninh mạng Checkmarx (Mỹ) đã đánh dấu 6 gói PyPI độc hại mạo danh colorama, bên cạnh colorizr - một thư viện JavaScript có sẵn trên npm.

"Chiến thuật sử dụng tên từ một hệ sinh thái (npm) để tấn công người dùng của một hệ sinh thái khác (PyPI) là bất thường. Các payload cho phép truy cập liên tục và điều khiển từ xa máy tính để bàn và máy chủ, cũng như thu thập và đánh cắp dữ liệu nhạy cảm”, Checkmarx cho biết. Điều đáng chú ý về chiến dịch này là nó nhắm vào người dùng của cả hệ thống Windows và Linux, cho phép phần mềm độc hại thiết lập kết nối với máy chủ C2, đánh cắp các biến môi trường nhạy cảm và thông tin cấu hình, cũng như thực hiện các bước để trốn tránh các biện pháp kiểm soát bảo mật điểm cuối.

Tuy nhiên, hiện tại vẫn chưa biết liệu các phần mềm Linux và Windows có phải là sản phẩm của cùng một kẻ tấn công hay không, làm dấy lên khả năng chúng có thể là các chiến dịch riêng biệt sử dụng cùng một chiến thuật đánh cắp tên miền.

Những kẻ tấn công độc hại cũng không lãng phí thời gian để lợi dụng sự phổ biến ngày càng tăng của các công cụ trí tuệ nhân tạo (AI) để lây nhiễm chuỗi cung ứng phần mềm, thông qua các gói PyPI như aliyun-ai-labs-snippets-sdk, ai-labs-snippets-sdk và aliyun-ai-labs-sdk, những gói này được cho là xuất phát từ bộ công cụ phát triển phần mềm Python (SDK) để tương tác với các dịch vụ của Aliyun AI Labs.

Các gói độc hại đã được công bố trên PyPI vào ngày 19/5/2024 và có thể tải xuống trong vòng chưa đầy 24 giờ. Tuy nhiên, cả ba gói đã được tải xuống tổng cộng hơn 1.700 lần trước khi chúng bị xóa.

“Sau khi cài đặt, gói độc hại sẽ cung cấp một payload thông tin ẩn bên trong mô hình PyTorch được tải từ tập lệnh khởi tạo. Payload độc hại này sẽ đánh cắp thông tin cơ bản về máy bị nhiễm và nội dung của tệp .gitconfig”, nhà nghiên cứu Karlo Zanki của hãng bảo mật ReversingLabs (Croatia) cho biết.

Mã độc được nhúng có chức năng thu thập thông tin chi tiết về người dùng đã đăng nhập, địa chỉ mạng của máy bị nhiễm, tên tổ chức sở hữu máy và nội dung của tệp .gitconfig.

Điều thú vị là tên tổ chức được lấy bằng cách đọc khóa tùy chọn “_utmc_lui_” từ cấu hình của ứng dụng họp trực tuyến AliMeeting, một ứng dụng hội nghị truyền hình phổ biến ở Trung Quốc. Điều này cho thấy mục tiêu có khả năng của chiến dịch là các nhà phát triển ở Trung Quốc.

Để lại bình luận