Vào ngày 18 tháng 7 năm 2025, một thư viện JavaScript đáng tin cậy với hơn 31 triệu lượt tải xuống hàng tuần, eslint-config-prettier
, đã bị lợi dụng trong một cuộc tấn công chuỗi cung ứng có chủ đích, cho thấy hệ sinh thái mã nguồn mở dễ bị tổn thương như thế nào. Vụ xâm phạm bắt đầu bằng một email lừa đảo, lừa người bảo trì rò rỉ mã thông báo của họ. Sử dụng thông tin đăng nhập bị lộ, kẻ tấn công đã phát hành các phiên bản trái phép của gói, chứa một tập lệnh sau khi cài đặt, thực thi một DLL trojan trên các máy tính Windows trong quá trình cài đặt.
Sau đây là những gì đã xảy ra, cuộc tấn công diễn ra như thế nào và OPSWAT công nghệ có thể giúp bảo vệ chống lại các mối đe dọa tương tự trong tương lai.
Tóm tắt cuộc tấn công
Gói npm linter phổ biến, eslint-config-prettier
, được sử dụng để vô hiệu hóa các quy tắc ESLint không cần thiết hoặc xung đột khi sử dụng Prettier. Nó thường được đưa vào như một phần phụ thuộc phát triển trong các IDE và CI pipeline cục bộ (không được tích hợp trong mã sản xuất), nhưng điều đó không ngăn cản nó trở thành phương tiện cho mã độc.
Cuộc tấn công diễn ra như sau:
1. Một email lừa đảo giả mạo từ support@npmjs.org đã lừa người bảo trì nhấp vào một liên kết độc hại (bị đánh cắp tên thành npnjs.com ). Sau khi nhấp vào liên kết, người bảo trì đã vô tình để lộ mã thông báo truy cập npm của mình, mà kẻ tấn công đã sử dụng để phát tán các phiên bản độc hại của gói.
2. Kẻ tấn công sau đó đã sử dụng mã thông báo npm bị đánh cắp để xuất bản các phiên bản độc hại của eslint-config-prettier
gói. Bốn phiên bản bị xâm phạm đã được xác định dựa trên báo cáo của nhà phát triển: 8.10.1, 9.1.1, 10.1.6, phiên bản 10.1.7
Ngoài ra, vì kẻ tấn công đã truy cập được vào mã thông báo bị xâm phạm nên các gói khác do cùng tác giả duy trì cũng bị ảnh hưởng, bao gồm: eslint-plugin-prettier, synckit, @pkgr/core
, Và napi-postinstall
3. Kẻ tấn công đã thêm hai tệp đáng ngờ vào mã nguồn: cài đặt.js
và node-gyp.dll
.
Khi người dùng tải xuống và cài đặt một trong các phiên bản gói bất hợp pháp, cài đặt.js
tập lệnh được thực thi, kích hoạt một mã độc node-gyp.dll
trên hệ thống Windows thông qua rundll32
Kỹ thuật tấn công được sử dụng
Lừa đảo và Kỹ thuật xã hội
Email giả mạo đã vượt qua thành công các biện pháp bảo vệ email cơ bản (SPF/DKIM/DMARC) và mạo danh hỗ trợ npm.
Typosquatting
Một tên miền lừa đảo ( npnjs.com ), được thiết kế giống với npmjs.com , đã được sử dụng để đánh cắp thông tin đăng nhập. Đây là một kỹ thuật đánh cắp thông tin đăng nhập cổ điển.
Mã hóa tối nghĩa thông qua nối chuỗi
Phiên bản gói độc hại bao gồm một tập lệnh sau khi cài đặt (cài đặt.js
) chạy tự động sau khi cài đặt.
Bên trong, một hàm có tên logDiskSpace()
trông có vẻ vô hại nhưng lại không kiểm tra dung lượng đĩa chút nào. Thay vào đó, nó sử dụng phép nối chuỗi để ghép lại một lệnh chạy rundll32.exe
và tải một tệp tin DLL (node-gyp.dll
) được đóng gói trong gói.
Chủ động Secure Mã nguồn và OSS với OPSWAT
MetaDefender Software Supply Chain™ giúp các tổ chức phát hiện và chặn các mã độc nguồn mở trước khi chúng xâm nhập vào đường ống CI/CD của bạn.
- Phân tích SBOM : Tự động quét các phần phụ thuộc và đánh dấu các lỗ hổng đã biết, chẳng hạn như CVE-2025-54313 , có liên quan đến cuộc tấn công này.
- Phát hiện nhiều AV : Phát hiện mã độc được che giấu như node-gyp.dll bằng hơn 30 công cụ chống mã độc tích hợp thông qua MetaScan™ Multiscanning .
- Tích hợp kho lưu trữ nguồn : Tích hợp với GitHub, GitLab và JFrog Artifactory để liên tục kiểm tra và xác minh tính toàn vẹn của gói.
Vectơ tấn công bắt đầu bằng email và đó chính là lúc MetaDefender Email Security ™ xuất hiện.
- Vệ sinh tệp: Deep CDR™ quét và vệ sinh các tệp đính kèm email.
- Trích xuất siêu liên kết : Tất cả các liên kết được hiển thị dưới dạng văn bản thuần túy, hiển thị các tên miền tương tự như npnjs.com trước khi người dùng nhấp vào.
Những điểm chính
- Bảo mật của người bảo trì chính là bảo mật chuỗi cung ứng. Chỉ cần một mã thông báo bị lừa đảo là kẻ tấn công có thể chiếm đoạt các thư viện được sử dụng rộng rãi.
- Hệ sinh thái nguồn mở phụ thuộc vào sự tin tưởng, nhưng một thành công về kỹ thuật xã hội có thể lan tỏa đến hàng triệu dự án tiếp theo.
- Các biện pháp bảo mật chủ động, như quét mã độc và làm sạch email, không còn là tùy chọn nữa; chúng rất cần thiết.
Phải làm gì bây giờ
-
Tránh cài đặt các phiên bản bị ảnh hưởng:
- eslint-config-prettier: 8.10.1, 9.1.1, 10.1.6, 10.1.7
- eslint-plugin-prettier: 4.2.2, 4.2.3
- bộ đồng bộ: 0.11.9
- @pkgr/core: 0.2.8
- napi-postinstall: 0.3.1
- Xoay vòng các bí mật được sử dụng trong các bản dựng bị ảnh hưởng
- Bật 2FA cho tất cả tài khoản npm
- Tiến hành đào tạo nhận thức về lừa đảo
Các cuộc tấn công chuỗi cung ứng đang trở nên thông minh hơn và mang tính cá nhân hơn. Với OPSWAT Giải pháp zero-trust dành cho email và quy trình phát triển, bạn có thể đi trước thời đại.
Tìm hiểu thêm về MetaDefender Software Supply Chain và MetaDefender Email Security . Kết nối với một trong những chuyên gia của chúng tôi để tìm giải pháp phù hợp với tổ chức của bạn.