Toàn cảnh bức tranh npm tạo ra “áp lực” cho tháng 9/2025

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
115
1.167 bài viết
Toàn cảnh bức tranh npm tạo ra “áp lực” cho tháng 9/2025
Tháng 9/2025 ghi nhận một làn sóng tấn công vào chuỗi cung ứng nhắm tới hệ sinh thái JavaScript và npm. Những vụ việc này có phải là các sự cố rời rạc hay là một chiến dịch tấn công có tính hệ thống, khi nhiều phương thức khác nhau đã được sử dụng? Các kỹ thuật triển khai bao gồm worm tự nhân bản, khai thác workflow trên GitHub Actions, lừa đảo chiếm đoạt tài khoản người duy trì, và kỹ thuật ẩn URL tải payload trong hợp đồng Ethereum.

1759996172471.png

Về bản chất, kẻ tấn công dường như nhắm vào hai điểm yếu liên kết chặt chẽ: thứ nhất là quyền truy cập bao gồm token, tài khoản và hệ thống CI; thứ hai là kênh phân phối bao gồm các gói npm, chuỗi phụ thuộc, script chạy sau khi cài đặt và các gói (bundle) ứng dụng cho desktop. Nếu một trong hai yếu tố bị chiếm, mã độc có thể lây lan nhanh, nếu cả hai bị kiểm soát, hậu quả có thể là rò rỉ token, cài backdoor vào CI và mất tiền điện tử của người dùng - những thiệt hại rất khó khắc phục.

Những chiến thuật lặp lại mà chúng ta thấy trong các vụ tấn công là thu thập bí mật và tận dụng kênh phân phối. Kẻ tấn công tìm mọi cách để thu thập token npm, token GitHub, khóa SSH và khóa ví tiền ảo. Chúng dùng worm tự nhân bản để chèn mã và chạy công cụ tìm kiếm bí mật trên máy phát triển, dùng script chạy sau khi cài đặt để lấy file cấu hình và khóa ứng dụng, chèn các commit độc hại vào workflow của GitHub Actions để trích xuất bí mật và dùng chiêu lừa đảo tinh vi để đánh cắp thông tin xác thực hai lớp của người duy trì gói. Khi đã chiếm được token hoặc tài khoản, kẻ tấn công tự động hóa bước tiếp theo: tạo workflow để duy trì quyền truy cập, phát hành lại gói đã bị trojan hóa và dùng quyền xuất bản để lây sang hàng nghìn dự án phụ thuộc.

Cách phân phối mã độc rất đa dạng. Có chiến dịch thao tác trực tiếp trên registry bằng cách tải gói, chèn payload, đóng gói lại và phát hành lại. Có gói mạo danh những thư viện phổ biến khiến người phát triển dễ nhầm. Có gói ít lượt tải nhưng được quảng bá qua mạng dự án liên quan đến tiền điện tử để tạo vẻ hợp pháp. Một kỹ thuật mới là sử dụng hợp đồng thông minh trên Ethereum để che giấu và phân phối đường dẫn đến payload, làm cho dấu vết mạng khó theo dõi hơn.

Một điểm đặc biệt đáng lo ngại là tấn công hướng tới hệ sinh thái Web3. Một số payload can thiệp trực tiếp vào trình duyệt để đổi địa chỉ nhận tiền khi người dùng tạo giao dịch. Một số khác sửa file trong các ứng dụng ví trên máy tính để chuyển đổi địa chỉ nhận tiền trong thời gian ứng dụng chạy. Hậu quả là tiền bị chuyển đi và không thể thu hồi.

Chiến dịch tấn công dường như còn đang tiến hóa. Kẻ tấn công bắt đầu dùng công cụ AI để tinh chỉnh nội dung nhằm tăng hiệu quả thu thập bí mật. Chúng còn vận hành dịch vụ phân phối để tăng độ tin cậy cho kho lưu trữ độc hại. Những xu hướng này cho thấy hoạt động tội phạm đã tổ chức hơn, chuyên môn hóa hơn và thích ứng nhanh.

Chuyên gia WhiteHat rút ra một số dự đoán cẩn trọng rằng kẻ tấn công sẽ tiếp tục tập trung xâm nhập chuỗi cung ứng thay vì tấn công điểm cuối đơn lẻ. Mã độc liên quan đến tiền điện tử sẽ vẫn hấp dẫn vì thiệt hại không thể đảo ngược. Kẻ tấn công sẽ lợi dụng API và workflow tự động để duy trì quyền truy cập. Các kỹ thuật che giấu và việc dùng AI sẽ khiến phát hiện truyền thống kém hiệu quả hơn.

Hướng phòng thủ cần triển khai song song trên hai trục: bảo vệ quyền truy cập và kiểm soát kênh phân phối. Trước hết, cần thu hồi và thay thế toàn bộ token npm, GitHub và các dịch vụ đám mây nếu có nghi ngờ rò rỉ. Hệ thống CI/CD phải được khóa chặt bằng cách vô hiệu hóa quyền xuất bản tự động của các workflow chưa được xác thực, đồng thời yêu cầu phê duyệt thủ công cho mọi lần phát hành quan trọng.

Chính sách cấp quyền cho token nên tuân thủ nguyên tắc tối thiểu đặc quyền, chỉ cấp quyền thật sự cần thiết và luôn đặt thời hạn hết hạn cụ thể. Các tài khoản người duy trì cần được bảo vệ bằng xác thực hai yếu tố, kết hợp với việc huấn luyện nhận diện chiêu thức lừa đảo.

Trong quá trình phát triển, cần kiểm tra kỹ các script chạy sau khi cài đặt, chặn các gói có hành vi unpack, sửa đổi hoặc ghi đè file thực thi. Song song đó, phải bảo đảm nguồn gốc phần mềm thông qua việc khóa phiên bản, sử dụng lockfile và xác minh tính toàn vẹn của gói khi có thể.

Bộ phận an ninh cần giám sát sát sao các dấu hiệu bất thường như tài khoản đáng tin cậy bỗng xuất bản gói lạ, kho riêng (private repo) bị chuyển thành công khai, hay sự xuất hiện hàng loạt của các workflow mới. Ngoài ra, cần thường xuyên quét máy phát triển để phát hiện dấu vết của công cụ tìm bí mật, file bị chỉnh sửa hoặc tệp cấu hình có dấu hiệu rò rỉ.

Đối với các dự án liên quan đến tiền điện tử, việc rà soát toàn bộ dependency liên quan đến ví và nhà cung cấp là bắt buộc, đồng thời phải chủ động cảnh báo người dùng về nguy cơ mất tài sản hoặc chuyển nhầm tiền.

Tóm lại, chuỗi tấn công diễn ra trong tháng 9/2025 cho thấy hệ sinh thái npm đang trải qua một giai đoạn đầy “áp lực”, khi niềm tin vào chuỗi cung ứng phần mềm mã nguồn mở bị thử thách nghiêm trọng. Npm không còn là vùng an toàn mặc định, mỗi token, workflow và gói phụ thuộc đều có thể trở thành điểm yếu nếu bị xem nhẹ. Phòng thủ hiệu quả không chỉ dừng ở kỹ thuật như kiểm soát token hay chu trình xuất bản mà còn cần ý thức cộng đồng và trách nhiệm của từng nhà phát triển trong việc duy trì độ tin cậy của hệ sinh thái. Nếu những nguyên tắc cơ bản này không được thực hiện nghiêm túc, chỉ một lần nhiễm mã độc cũng đủ kích hoạt hiệu ứng dây chuyền, khiến hậu quả lan rộng và khó có thể khắc phục hoàn toàn.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
hệ sinh thái javascript và npm rò rỉ và chiếm quyền token tấn công chuỗi cung ứng
Bên trên