Một vụ vi phạm bảo mật lớn đã làm rung chuyển cộng đồng phát triển JavaScript khi hệ thống build NX phổ biến trở thành nạn nhân của một cuộc tấn công chuỗi cung ứng tinh vi đã tận dụng trí tuệ nhân tạo để đánh cắp dữ liệu nhạy cảm của lập trình viên. Ít nhất 1.400 lập trình viên đã phát hiện các repository độc hại được tạo trong tài khoản GitHub của họ, chứa các ví bị đánh cắp, API key và các thông tin đăng nhập khác.
Cuộc tấn công nhắm vào NX , một công cụ build monorepo được sử dụng rộng rãi phục vụ 2,5 triệu lập trình viên hàng ngày và được sử dụng bởi hơn 70% các công ty Fortune 500 . Các phiên bản độc hại đã được xuất bản lên npm từ ngày 26-27 tháng 8 năm 2025, ảnh hưởng đến các phiên bản 21.5.0-21.8.0 và 20.6.0-20.12.0.
Các phiên bản NX bị ảnh hưởng:
- v21.5.0 - v21.8.0
- v20.6.0 - v20.12.0
Dòng thời gian tấn công:
- 2025-08-26 ~06:00 PM PDT: Các phiên bản độc hại được phát hành
- 2025-08-26 ~08:30 PM PDT: Người dùng đầu tiên báo cáo hoạt động đáng nghi
- 2025-08-26 ~10:45 PM PDT: npm gỡ bỏ các phiên bản bị xâm nhập
- 2025-08-27 ~01:00 AM PDT: Xác định thêm phạm vi ảnh hưởng
Đánh Cắp Dữ Liệu Được Hỗ Trợ Bởi AI Đánh Dấu Vector Tấn Công Mới
Điều làm cho vụ vi phạm này đặc biệt đáng lo ngại là việc kẻ tấn công sử dụng sáng tạo các công cụ dòng lệnh AI như Claude Code và Gemini CLI để tự động hóa việc phát hiện các tệp nhạy cảm. Thay vì mã hóa cứng các mẫu tìm kiếm mà các công cụ bảo mật có thể phát hiện, malware chỉ đơn giản hướng dẫn các trợ lý AI này tìm ví tiền điện tử, khóa riêng tư và dữ liệu có giá trị khác trên hệ thống bị nhiễm.
Mã độc được thực thi thông qua script post-install của NX , quét tìm các công cụ AI và sau đó nhắc chúng tìm kiếm các tệp khớp với các mẫu liên quan đến ví trên toàn bộ hệ thống của người dùng. Cách tiếp cận này cho phép kẻ tấn công chuyển phần lớn công việc fingerprinting của họ sang các prompt AI , khiến việc phát hiện trở nên khó khăn hơn đáng kể đối với các công cụ bảo mật truyền thống.
Phản Ứng Của Cộng Đồng Làm Nổi Bật Những Mối Quan Ngại Bảo Mật Rộng Hơn
Phản ứng của cộng đồng lập trình viên đã nhanh chóng nhưng chia rẽ về trách nhiệm và phòng ngừa. Nhiều người đang đặt câu hỏi tại sao các trợ lý mã hóa AI lại có quyền truy cập hệ thống tệp rộng như vậy theo mặc định, trong khi những người khác chỉ ra các lỗ hổng cơ bản trong bảo mật trình quản lý gói.
Mô hình bảo mật đa người dùng của Unix đơn giản là không đủ nữa trong thế giới người dùng đơn lẻ, chạy các ứng dụng không đáng tin cậy ngày nay.
Một số lập trình viên hiện đang ủng hộ việc sandboxing nghiêm ngặt hơn các công cụ phát triển và trợ lý AI . Một số đã chuyển sang chạy tất cả công việc phát triển trong máy ảo hoặc container để hạn chế thiệt hại tiềm tàng từ các cuộc tấn công tương tự.
Sự cố này cũng đã khơi mào cuộc tranh luận về mô hình bảo mật của npm , với nhiều người kêu gọi ký mã bắt buộc và xác minh tốt hơn các nhà xuất bản gói. Hiện tại, việc xâm phạm một API token duy nhất có thể cho phép kẻ tấn công xuất bản các bản cập nhật độc hại cho các gói được sử dụng rộng rãi.
Thống kê tác động:
- Ít nhất 1.400 người dùng bị ảnh hưởng đã được xác nhận
- 2,5 triệu nhà phát triển sử dụng NX hàng ngày
- Hơn 70% các công ty Fortune 500 sử dụng NX
- Hàng nghìn token GitHub hợp lệ đã bị quan sát thấy bị rò rỉ
- Hàng chục thông tin xác thực đám mây và token NPM hợp lệ bị xâm phạm
- Tổng cộng khoảng 20.000 tệp bị rò rỉ
Hành Động Ngay Lập Tức Cho Các Lập Trình Viên Bị Ảnh Hưởng
Các lập trình viên sử dụng các phiên bản NX bị xâm phạm nên ngay lập tức kiểm tra tài khoản GitHub của họ để tìm các repository có tên singularity-repository hoặc các biến thể tương tự. Những repository này chứa các dump dữ liệu bị đánh cắp được mã hóa base64 được tự động tạo bởi malware.
Cuộc tấn công cũng đã sửa đổi các tệp cấu hình shell để thêm các lệnh shutdown, tạo ra tình trạng từ chối dịch vụ cho các phiên terminal mới. Người dùng bị ảnh hưởng cần làm sạch các tệp .bashrc và .zshrc của họ trong khi xoay vòng tất cả các thông tin đăng nhập có thể bị xâm phạm bao gồm token GitHub , khóa npm , khóa SSH và quyền truy cập ví tiền điện tử.
Các trình quản lý gói như pnpm và bun cung cấp một số bảo vệ theo mặc định, vì chúng không tự động thực thi các script cài đặt. Điều này đã làm mới lại các lời kêu gọi cho npm áp dụng các cách tiếp cận ưu tiên bảo mật tương tự.
Khuyến nghị Bảo mật:
- Vô hiệu hóa các script cài đặt npm trên toàn cục:
npm config set ignore-scripts true
- Sử dụng các trình quản lý gói như pnpm hoặc bun không thực thi script theo mặc định
- Chạy các công cụ phát triển trong container sandbox hoặc VM
- Kiểm tra các repository độc hại:
singularity-repository*
trong các tài khoản GitHub - Xoay vòng tất cả các thông tin xác thực có thể bị xâm phạm ( GitHub , npm, SSH keys, ví tiền điện tử)
Nhìn Về Phía Trước: Thực Tế Mới Của Các Cuộc Tấn Công Được Tăng Cường Bởi AI
Vụ vi phạm này đại diện cho một thời điểm bước ngoặt đối với bảo mật chuỗi cung ứng phần mềm. Khi các công cụ AI trở nên phổ biến hơn trong quy trình phát triển, chúng đang tạo ra các bề mặt tấn công mới mà các biện pháp bảo mật truyền thống không được thiết kế để xử lý.
Sự cố này chứng minh cách kẻ tấn công đang thích ứng để tận dụng các công cụ AI mà lập trình viên dựa vào hàng ngày. Với khả năng thích ứng động với các cấu hình hệ thống khác nhau thông qua các prompt ngôn ngữ tự nhiên, các cuộc tấn công trong tương lai có thể trở nên tinh vi hơn và khó dự đoán hơn.
Đối với cộng đồng phát triển rộng lớn hơn, điều này phục vụ như một lời cảnh tỉnh về những tác động bảo mật của các công cụ phát triển được hỗ trợ bởi AI và nhu cầu cấp thiết cho sandboxing tốt hơn và các mô hình quyền trong môi trường phát triển hiện đại.
Tham khảo: Security Alert | NX Compromised to Steal Wallets and Credentials