Cảnh báo: Tấn công Phishing npm nghiêm trọng qua unpkg.com

Vào tháng 10 năm 2025, các nhà nghiên cứu bảo mật đã phát hiện một chiến dịch tấn công phishing npm tinh vi, sử dụng hệ sinh thái npm làm vũ khí. Điều đặc biệt ở chiến dịch này là nó không lây nhiễm cho các nhà phát triển trong quá trình cài đặt gói thông thường. Thay vào đó, nó lạm dụng CDN unpkg.com như một nền tảng lưu trữ tạm thời, dễ dàng triển khai cho các script JavaScript độc hại.
Bằng cách tạo và gieo cấy hơn 175 gói npm dùng một lần, những kẻ tấn công đã biến một mạng lưới phân phối mã nguồn mở đáng tin cậy thành một hạ tầng phishing quy mô lớn. Mục tiêu chính của chúng là nhân viên doanh nghiệp, đặc biệt tập trung vào các lĩnh vực công nghiệp, công nghệ và năng lượng tại Châu Âu, gây ra một mối đe dọa mạng nghiêm trọng.
Tận Dụng unpkg.com Cho Chiến Dịch Phishing
Cơ Chế Khai Thác Mới và Mục Tiêu
Thay vì nhúng mã độc trực tiếp vào các module npm phổ biến, kẻ tấn công đã chọn một phương pháp gián tiếp nhưng hiệu quả hơn. Chúng tạo ra hàng trăm gói tạm thời với mục đích duy nhất là lưu trữ các tệp độc hại. Các gói này tuân theo một mẫu đặt tên dễ nhận biết: redirect-[a-z0-9]{6}.
Mỗi gói chứa một tệp JavaScript tối thiểu, ví dụ như beamglea.js. Kèm theo đó là các mồi nhử HTML được thiết kế chuyên nghiệp, thường dưới dạng “tài liệu kinh doanh” hoặc “thông báo nội bộ”, nhằm lừa đảo người dùng mở chúng.
Khi nạn nhân nhấp vào và mở một trong các tệp HTML độc hại này trên trình duyệt của mình, tệp HTML sẽ tự động tải script JavaScript độc hại trực tiếp từ CDN unpkg.com. Quá trình tải được thực hiện thông qua một thẻ <script> đơn giản, ví dụ:
<script src="https://unpkg.com/[email protected]/beamglea.js" defer></script>
Script được tải này ngay lập tức thực hiện chuyển hướng người dùng đến một trang web lừa đảo được thiết kế để thu thập thông tin đăng nhập. Để tăng cường hiệu quả của chiến dịch phishing, URL chuyển hướng thường chứa một fragment đặc biệt. Fragment này chứa địa chỉ email của nạn nhân, cho phép biểu mẫu đăng nhập trên trang lừa đảo tự động điền sẵn email. Điều này không chỉ tạo ra một cảm giác tin cậy mạnh mẽ hơn cho nạn nhân mà còn giúp kẻ tấn công tránh được việc lưu lại địa chỉ email trong nhật ký máy chủ, khiến việc truy vết trở nên khó khăn hơn.
Phát Hiện và Phân Tích Mối Đe Dọa Mạng
Dấu Vết Ban Đầu và Tiết Lộ từ Socket
Những dấu vết công khai đầu tiên của hạ tầng độc hại này được ghi nhận vào ngày 24 tháng 9 năm 2025. Ngay sau đó, vào ngày 9 tháng 10 cùng năm, công ty bảo mật Socket đã chính thức tiết lộ về chiến dịch này. Họ xác định được tổng cộng 175 gói độc hại, được đặt mật danh “Beamglea”, có khả năng ảnh hưởng đến hơn 135 tổ chức.
Thông tin chi tiết về các phát hiện này, bao gồm cơ chế hoạt động và các chỉ số IOC, đã được công bố. Để tìm hiểu thêm về phân tích này, bạn có thể tham khảo báo cáo chuyên sâu của Snyk tại: Phishing Campaign Leveraging the npm Ecosystem.
Cluster “Mad” và Kỹ Thuật Chống Phân Tích Nâng Cao
Một phân tích tiếp theo được thực hiện bởi Snyk vào ngày 10 tháng 10 đã phát hiện thêm một nhóm các gói độc hại liên quan. Nhóm này sử dụng quy tắc đặt tên khác biệt: mad-x.x.x.x.x.x. Sự xuất hiện của cluster này cho thấy đây có thể là một hoạt động sao chép (copycat operation) hoặc một nhánh phát triển song song từ cùng một tác nhân đe dọa.
Các gói “mad” này nhắm mục tiêu rộng hơn và sử dụng một kỹ thuật mạo danh khác: giả mạo một trang “Cloudflare Security Check” giả mạo. Khi người dùng truy cập trang này và đánh dấu vào ô “I am not a robot”, script độc hại sẽ ngay lập tức kích hoạt các kỹ thuật chống công cụ phát triển (anti-devtools logic) và kỹ thuật chống phá khung (frame-busting).
Mục đích của các kỹ thuật này là làm gián đoạn hoặc ngăn cản các nhà phân tích bảo mật kiểm tra mã độc. Sau khi vượt qua các bước kiểm tra giả mạo, script sẽ tìm nạp một tệp chứa URL tải trọng của kẻ tấn công, được lưu trữ trên GitHub.
Phân Tích Kỹ Thuật Các Gói “Mad”
Các tính năng chống phân tích trong các gói “mad” rất đáng chú ý. Chúng bao gồm việc vô hiệu hóa chức năng chuột phải, chặn các phím tắt kiểm tra phổ biến như F12, và tự động làm trắng trang hoặc thoát khỏi khung trình duyệt nếu phát hiện các công cụ phát triển đang hoạt động. Điều này khiến việc gỡ lỗi và phân tích hành vi của mã độc trở nên khó khăn hơn cho các nhà nghiên cứu.
Sau khi các biện pháp xác minh giả mạo được hoàn tất thành công, script độc hại sẽ đọc URL chứa trang phishing thực tế từ tệp được tải từ GitHub. Sau đó, nó sẽ thực hiện chuyển hướng cửa sổ trình duyệt chính (parent window) đến trang phishing đó, hoàn tất quá trình lừa đảo.
Dưới đây là một ví dụ minh họa về cách script từ gói “mad” có thể được nhúng và tải từ CDN unpkg.com:
<script src="https://unpkg.com/[email protected]/script.js" defer></script>
Sự tinh vi trong việc che giấu URL tải trọng và sử dụng các kỹ thuật chống phân tích cho thấy mức độ chuyên nghiệp của tác nhân đe dọa đằng sau chiến dịch tấn công phishing npm này.
Khuyến Nghị Bảo Mật và Nâng Cao An Ninh Mạng
Mặc dù chiến dịch này không trực tiếp làm tổn hại đến quá trình cài đặt gói npm, nó làm nổi bật một khía cạnh mới và nguy hiểm của bối cảnh mối đe dọa mạng đang mở rộng trong chuỗi cung ứng phần mềm mã nguồn mở. Để đối phó với những mối đe dọa tương tự, các tổ chức cần thực hiện các biện pháp phòng ngừa và bảo mật toàn diện sau:
- Mở rộng cảnh giác chuỗi cung ứng: Cần có cái nhìn toàn diện hơn về bảo mật chuỗi cung ứng, vượt ra ngoài việc chỉ tập trung vào các mối đe dọa phát sinh từ quá trình cài đặt gói. Điều này bao gồm việc giám sát mọi bước của chu kỳ phân phối và tiêu thụ phần mềm, từ nguồn gốc đến điểm cuối.
- Tăng cường đào tạo nhận thức về phishing: Thường xuyên tổ chức các buổi đào tạo và mô phỏng tấn công phishing cho nhân viên. Mục tiêu là nâng cao khả năng nhận diện các email và liên kết lừa đảo, đặc biệt là những email và liên kết có vẻ hợp pháp từ các nguồn đáng tin cậy.
- Triển khai xác thực đa yếu tố (MFA) bắt buộc: Yêu cầu tất cả các tài khoản doanh nghiệp, đặc biệt là các tài khoản có quyền truy cập vào các hệ thống nhạy cảm, phải sử dụng MFA. Điều này giúp ngăn chặn việc chiếm quyền đăng nhập ngay cả khi thông tin xác thực ban đầu bị đánh cắp.
- Thực hiện giám sát lưu lượng mạng chủ động: Sử dụng các hệ thống phát hiện xâm nhập (IDS/IPS) và các giải pháp Quản lý Thông tin và Sự kiện Bảo mật (SIEM) để theo dõi và phân tích lưu lượng mạng bất thường. Đặc biệt chú ý đến các kết nối outbound đến các CDN, tên miền hoặc địa chỉ IP không rõ hoặc có dấu hiệu đáng ngờ.
- Quản lý bản vá và cập nhật phần mềm định kỳ: Đảm bảo rằng tất cả hệ thống, ứng dụng và thư viện phần mềm đều được cập nhật các bản vá bảo mật mới nhất một cách kịp thời. Điều này giúp giảm thiểu các lỗ hổng có thể bị kẻ tấn công khai thác.
- Kiểm tra bảo mật mã nguồn mở: Sử dụng các công cụ phân tích thành phần phần mềm (SCA) để quét các thư viện mã nguồn mở và phụ thuộc. Điều này giúp xác định và khắc phục các lỗ hổng hoặc thành phần độc hại tiềm ẩn trước khi chúng có thể bị khai thác.
Khi những kẻ tấn công tiếp tục thăm dò và phát triển các phương pháp mới để vũ khí hóa hạ tầng mã nguồn mở, các nhà bảo vệ phải không ngừng mở rộng chiến lược cảnh giác chuỗi cung ứng. Điều này là cần thiết để bảo vệ mọi giai đoạn trong vòng đời phân phối và tiêu thụ phần mềm, đảm bảo một môi trường an ninh mạng toàn diện và vững chắc cho các tổ chức.









