Gói npm Bitwarden CLI bị chiếm quyền – phát hiện chiến dịch đánh cắp thông tin xác thực quy mô lớn nhắm vào nhà phát triển
(research.jfrog.com)Nhóm nghiên cứu bảo mật JFrog đã phát hiện phiên bản 2026.4.0 của @bitwarden/cli trên npm đã bị chiếm quyền. Gói này vẫn giữ nguyên metadata và branding chính thức của Bitwarden, nhưng chỉ thay thế script preinstall và điểm vào nhị phân bw bằng một trình tải độc hại (bw_setup.js).
Cách thức hoạt động
Khi cài đặt, trình tải trước tiên tải runtime Bun từ GitHub, sau đó thực thi payload JavaScript bị làm rối (bw1.js). Việc dùng Bun thay vì Node.js tự thân đã là một chiến lược né tránh phát hiện.
Payload này thu thập diện rộng thông tin xác thực trong máy trạm của nhà phát triển và môi trường CI thông qua ba bộ thu thập.
- Bộ thu thập hệ thống tệp: khóa SSH (
~/.ssh/), thông tin xác thực Git (.git-credentials), token npm (~/.npmrc),.env, thông tin xác thực AWS (~/.aws/credentials), thông tin xác thực GCP (~/.config/gcloud/credentials.db) v.v. - Bộ thu thập shell/môi trường: chạy lệnh
gh auth token, quétprocess.envđể dò khớp mẫu token GitHub·npm - Bộ thu thập GitHub Actions: chèn workflow vào các repo mà token có quyền truy cập để trích xuất cả secret của Actions
Điểm đặc biệt đáng chú ý là các công cụ AI và tệp cấu hình MCP như ~/.claude.json, ~/.claude/mcp.json, ~/.kiro/settings/mcp.json cũng nằm trong phạm vi thu thập.
Đường rò rỉ kép
Dữ liệu bị đánh cắp được nén bằng gzip rồi truyền đi sau khi qua mã hóa lai AES-256-GCM + RSA-OAEP.
- Đường thứ nhất: HTTPS POST tới
audit.checkmarx.cx/v1/telemetry(ngụy trang như một dịch vụ bảo mật hợp pháp) - Đường thứ hai (lạm dụng GitHub): nếu đường thứ nhất thất bại, mã độc sẽ tìm và trích xuất một PAT được mã hóa Base64 hai lớp từ message commit GitHub bằng marker
LongLiveTheResistanceAgainstMachines. Nó cũng khôi phục động miền rò rỉ thay thế thông qua markerbeautifulcastlevà xác minh chữ ký RSA. Cuối cùng, nó tạo một repo mới trong tài khoản GitHub của nạn nhân và tải JSON đã mã hóa lên thư mụcresults/.
Cách nhận diện nhiễm mã độc
Metadata Bitwarden CLI hợp lệ được nhúng bên trong là 2026.3.0, nhưng thư mục gốc của gói lại ghi 2026.4.0, cho thấy đây không phải build từ pipeline chính thức mà là một lớp độc hại được phủ thêm từ bên ngoài.
Cách ứng phó
Nếu có lịch sử cài đặt phiên bản này, cần xem như toàn bộ thông tin xác thực trên host đó đã bị lộ.
npm uninstall -g @bitwarden/clivà dọn cache- Luân chuyển toàn bộ GitHub PAT, token npm, AWS access key
- Kiểm tra audit log của Azure Key Vault / GCP Secret Manager
- Rà soát lịch sử thực thi trái phép trong workflow GitHub Actions
- Chặn mạng tới
audit.checkmarx.cxvà94.154.172.43 - Kiểm tra khả năng lộ dữ liệu nhạy cảm trong các tệp cấu hình công cụ AI (Claude, Kiro v.v.)
Đây là một cuộc tấn công tinh vi, vượt xa kiểu stealer thông tin xác thực npm thông thường, khi kết hợp xâm phạm chuỗi cung ứng + đánh cắp secret nhiều tầng + vũ khí hóa hạ tầng GitHub.
Chưa có bình luận nào.