Forge-jsxy là một mối đe dọa bảo mật trong hệ sinh thái npm, được phát tán dưới dạng gói độc hại nhằm đánh cắp khóa ví tiền mã hóa, thông tin đăng nhập trình duyệt và dữ liệu nhạy cảm của nhà phát triển trên Windows, macOS và Linux.
Mối đe dọa bảo mật trên npm với 22 phiên bản trong 22 ngày
Gói forge-jsxy được đăng lên npm registry vào ngày 04/05/2026 và đã phát hành 22 phiên bản trong 22 ngày. Hành vi cập nhật liên tục này cho thấy chiến dịch được duy trì chủ động, với tốc độ phát triển cao bất thường đối với một gói phần mềm trên kho npm.
Trước đó, gói tiền nhiệm forge-jsx được công bố ngày 07/04/2026 và tồn tại gần một tháng trước khi bị npm thay thế bằng một placeholder bảo mật. Chỉ vài giờ sau khi bị gỡ, tài khoản mới jacksonkaandorp2 được tạo và gói forge-jsxy tiếp tục hoạt động từ đúng phiên bản 1.0.66.
Chuỗi phát triển của forge-jsxy
Theo báo cáo phân tích của SafeDep, nguồn tham chiếu từ SafeDep cho thấy cùng một operator đứng sau cả hai gói. Cấu hình command-and-control, cơ chế mã hóa và thông tin phiên làm việc đều trùng khớp giữa forge-jsx và forge-jsxy.
Trong tổng thời gian hoạt động hơn 50 ngày, operator đã phát hành 88 phiên bản và mở rộng tập tính năng theo nhiều giai đoạn. Bộ thử nghiệm cũng được duy trì từ 12 file lên 20 file ở phiên bản cuối.
Phân giai đoạn phát triển
- 1.0.66–1.0.76: Giữ nguyên chức năng của forge-jsx và gửi ảnh chụp màn hình định kỳ qua Discord webhook xoay vòng.
- Giai đoạn kế tiếp: Thêm web-based file explorer để duyệt hệ thống tệp từ xa.
- Giữa tháng 5: Bổ sung WebRTC peer-to-peer data channels để đi đường truyền khác, không phụ thuộc relay WebSocket chính.
- 18/05: Sáu phiên bản được phát hành trong 10 giờ, kèm khung quét ví tiền mã hóa trên toàn bộ hệ thống tệp.
- 1.0.91: Thu thập cơ sở dữ liệu extension của Chromium từ hơn 21 trình duyệt, đồng thời thêm cơ chế auto-upgrade.
Kỹ thuật đánh cắp dữ liệu và cơ chế bám trụ
Sau khi cài đặt, script postinstall triển khai một agent ẩn để thu thập keystrokes, nội dung clipboard, file môi trường, lịch sử shell và ảnh chụp màn hình desktop. Các môi trường CI bị bỏ qua có chủ đích để giảm nguy cơ bị phát hiện trong quá trình build tự động.
Ở phiên bản 1.0.81, mã độc sao chép các file agent sang một thư mục ẩn nằm ngoài node_modules. Điều này khiến lệnh npm uninstall chỉ xóa phần khai báo gói, nhưng agent vẫn tiếp tục chạy nền.
Đường dẫn lưu trữ bền vững
- Linux:
~/.local/share/cfgmgr/.forge-jsxy/ - macOS: Sử dụng đường dẫn tương đương theo nền tảng.
- Windows: Dùng vị trí lưu trữ tương đương riêng cho hệ điều hành.
Agent cũng được khởi động lại sau mỗi lần reboot thông qua systemd unit, LaunchAgent hoặc Task Scheduler. Đây là cơ chế duy trì bám trụ sau khi package bị gỡ cài đặt.
Hành vi đánh cắp ví tiền mã hóa và thông tin trình duyệt
Trong phiên bản cuối, forge-jsxy mở rộng sang việc thu thập Chromium browser extension databases từ 21+ trình duyệt, bao gồm Chrome, Edge, Brave và Opera. Mục tiêu trực tiếp là các extension ví như MetaMask và Phantom.
Khối quét ví tiền mã hóa tìm kiếm toàn bộ hệ thống tệp để phát hiện wallet files, seed phrases và private keys. Mọi phát hiện đều được xác thực bằng kiểm tra mật mã trước khi lưu vào một hidden vault có khả năng tồn tại qua reboot và cả khi package bị xóa.
Điểm ảnh hưởng hệ thống
- Đánh cắp khóa ví và dữ liệu đăng nhập trình duyệt.
- Thu thập file môi trường, lịch sử shell và clipboard.
- Chụp ảnh màn hình desktop theo chu kỳ.
- Truy cập file hệ thống qua file explorer từ xa.
- Duy trì bám trụ sau khi gỡ package bằng agent ngoài
node_modules.
IOC và dấu hiệu nhận biết
Các IoC được mô tả trong tài liệu gốc tập trung vào artefact và cấu trúc hoạt động của package độc hại. Một số thành phần dưới đây cần được đối chiếu trong hệ thống phát hiện xâm nhập hoặc nền tảng threat intelligence.
- Tên package: forge-jsx
- Tên package: forge-jsxy
- Tài khoản npm: jacksonkaandorp2
- Thư mục bền vững trên Linux:
~/.local/share/cfgmgr/.forge-jsxy/ - Cơ chế điều khiển: WebSocket relay, WebRTC peer-to-peer data channels
- Cơ chế bám trụ: systemd unit, LaunchAgent, Task Scheduler
- Kênh rò rỉ dữ liệu: Discord webhooks xoay vòng
Tài liệu khuyến nghị IOC như IP và domain được defang trước khi chia sẻ, và chỉ nên refang trong hệ thống kiểm soát như MISP, VirusTotal hoặc SIEM. Để đối chiếu thêm, có thể tham khảo cơ sở dữ liệu NVD khi xuất hiện định danh CVE liên quan.
Cách gỡ bỏ và kiểm tra sau nhiễm
SafeDep khuyến nghị xóa thủ công thư mục agent bền vững và loại bỏ service khởi động liên quan trước khi xem máy là sạch. Với máy đã cài bất kỳ phiên bản nào của forge-jsxy, toàn bộ credential và wallet key trên hệ thống cần được xem là compromised.
npm uninstall forge-jsxyLệnh trên chỉ gỡ gói khỏi danh sách cài đặt. Vì agent có thể nằm ngoài node_modules, cần kiểm tra thêm các vị trí lưu trữ bền vững và service khởi động tương ứng.
Hành động kỹ thuật cần thực hiện
- Xóa thư mục agent ẩn ngoài
node_modules. - Gỡ systemd unit, LaunchAgent hoặc Task Scheduler entry tương ứng.
- Đổi toàn bộ mật khẩu và khóa truy cập có thể đã bị lộ.
- Tạo ví mới trên hệ thống sạch nếu có sử dụng browser-based crypto wallet.
- Đối chiếu log và hành vi mạng để phát hiện xâm nhập còn sót lại.
Đặc điểm đáng chú ý trong chuỗi tấn công supply chain
Forge-jsxy cho thấy một mô hình tấn công mạng supply chain có vòng đời nhanh, phát hành dồn dập và mở rộng năng lực theo từng bản. Gói độc hại giả dạng một lớp tích hợp Node.js cho Autodesk Forge, khiến nhà phát triển dễ tin cậy khi duyệt registry.
Việc thay đổi liên tục từ thu thập screenshot, duyệt file từ xa, chuyển sang quét ví tiền mã hóa và lấy dữ liệu extension cho thấy đây là một mối đe dọa bảo mật có khả năng thích ứng cao trong hệ sinh thái npm. Với các hệ thống phát triển, đây là một ví dụ rõ ràng về rủi ro bảo mật từ package bên thứ ba.
Kiểm soát và giám sát
- Giám sát các package npm có hành vi postinstall bất thường.
- Phát hiện tiến trình tạo kết nối đến Discord webhook, WebSocket relay hoặc WebRTC bất thường.
- Kiểm tra thay đổi trong thư mục agent ngoài vùng cài đặt chuẩn.
- Áp dụng quy trình review phụ thuộc trước khi đưa vào CI/CD.










