Hacker tấn công thư viện Python phổ biến nhất, hàng triệu dev có thể bị lộ mật khẩu

PyTorch Lightning - thư viện Python được hàng triệu developer tin dùng vừa bị hacker cấy mã độc trực tiếp vào kho mã chính thức. Chỉ trong vài giờ, hai phiên bản độc hại đã có thể xâm nhập vào hàng nghìn dự án trên toàn cầu. Đây là minh chứng rõ nét cho thấy chuỗi cung ứng phần mềm đang trở thành mục tiêu ưa thích của tin tặc.
Bạn có thể tin rằng chỉ cần cài một thư viện Python quen thuộc là có thể khiến toàn bộ thông tin đăng nhập của dự án bị lộ cho hacker không? Điều này vừa xảy ra với PyTorch Lightning, một trong những thư viện machine learning phổ biến nhất thế giới. Tin tặc đã thành công cấy mã độc vào hai phiên bản 2.6.2 và 2.6.3, được phát hành ngày 30/4/2026 trên kho PyPI chính thức. Đây không phải là một cuộc tấn công đơn lẻ, mà là một chiến dịch supply chain attack (tấn công chuỗi cung ứng) được thiết kế tinh vi để đánh cắp thông tin xác thực từ hàng triệu developer trên toàn cầu.
Khi thư viện tin cậy nhất cũng không an toàn
PyTorch Lightning không phải là mục tiêu ngẫu nhiên. Với hơn 25 triệu lượt tải xuống hàng tháng, thư viện này được sử dụng bởi các tập đoàn công nghệ lớn như Microsoft, Google, Facebook để xây dựng các mô hình AI quan trọng. Theo báo cáo từ Aikido Security, OX Security, Socket và StepSecurity, hacker đã xâm nhập thành công vào tài khoản maintainer (người duy trì) của dự án để push trực tiếp mã độc lên kho chính thức.
Chúng tôi cho rằng đây là một trong những cuộc tấn công supply chain nghiêm trọng nhất trong năm 2026. Khác với việc tạo ra các package giả mạo, tin tặc lần này đã kiểm soát được chính thư viện gốc - nơi mà developer hoàn toàn tin tưởng. Điều này có nghĩa là ngay cả những tổ chức có biện pháp bảo mật nghiêm ngặt nhất cũng có thể bị xâm nhập mà không hề hay biết.
Phẫu thuật mã độc: Kỹ thuật đánh cắp tinh vi
Phân tích kỹ thuật cho thấy mã độc được cài cắm rất khéo léo trong quá trình cài đặt package. Khi developer chạy lệnh "pip install lightning", đoạn mã độc sẽ tự động kích hoạt và quét toàn bộ hệ thống để tìm kiếm các file cấu hình quan trọng. Target chính của hacker bao gồm các file .env, .aws/credentials, .ssh/id_rsa và các token API được lưu trong biến môi trường.
Đặc biệt nguy hiểm, mã độc còn có khả năng self-propagation (tự lan truyền) thông qua việc modify các file requirements.txt trong dự án. Điều này có nghĩa là một khi bị nhiễm, mã độc sẽ tự động lây lan sang các dự án khác trong cùng một môi trường phát triển. Chúng tôi đánh giá đây là một kỹ thuật tinh vi, cho thấy hacker đã nghiên cứu kỹ lưỡng workflow của Python developer trước khi thực hiện cuộc tấn công.
Tác động lan tỏa: Hàng triệu dự án có thể bị ảnh hưởng
Theo thống kê sơ bộ, trong vòng 6 giờ từ khi phiên bản độc hại được phát hành, đã có khoảng 15.000 lượt tải xuống từ các IP khác nhau trên toàn cầu. Con số này có thể chỉ là phần nổi của tảng băng, bởi nhiều tổ chức sử dụng các mirror server nội bộ để cache package, khiến việc tracking trở nên khó khăn hơn.
Tại Việt Nam, theo dữ liệu từ Vietnam Computer Emergency Response Team (VNCERT), có ít nhất 200 địa chỉ IP trong nước đã tải xuống các phiên bản độc hại này. Đáng lo ngại, trong số đó có nhiều IP thuộc về các ngân hàng, công ty fintech và startup công nghệ lớn. Chúng tôi khuyến cáo các tổ chức này cần thực hiện audit bảo mật khẩn cấp để xác định mức độ thiệt hại thực tế.
Phòng thủ khẩn cấp: Những bước cần làm ngay
Đầu tiên, developer cần kiểm tra ngay lập tức phiên bản Lightning đang sử dụng bằng lệnh "pip show lightning". Nếu đang sử dụng version 2.6.2 hoặc 2.6.3, cần gỡ bỏ ngay bằng "pip uninstall lightning" và cài lại phiên bản 2.6.1 an toàn. Quan trọng hơn, phải thực hiện full scan antivirus cho toàn bộ hệ thống và thay đổi tất cả API keys, database passwords đã được lưu trữ trên máy nhiễm độc.
Về lâu dài, các tổ chức cần triển khai Software Bill of Materials (SBOM) - danh sách chi tiết tất cả components trong ứng dụng để theo dõi và kiểm soát supply chain risks. Sử dụng các công cụ như pip-audit, safety hoặc bandit để quét vulnerabilities trong dependencies trước khi deploy. Đặc biệt, thiết lập dependency pinning - cố định phiên bản package cụ thể thay vì để auto-update, và luôn test kỹ lưỡng trong môi trường sandbox trước khi áp dụng lên production.
Bài viết liên quan
