Khi “Thư viện API WhatsApp” Trở Thành Backdoor Cho Hacker: Câu Chuyện Lotusbail – Supply Chain Attack Đỉnh Cao
Ngày 22/12/2025, một chiến dịch tấn công chuỗi cung ứng (software supply chain attack) mới được lộ diện đã khiến cộng đồng phát triển phần mềm và DevOps toàn cầu phải đứng ngồi không yên. Một gói npm độc hại được đóng gói tinh vi đã tìm cách truy cập tài khoản WhatsApp của người dùng, thu thập tin nhắn, danh bạ và thậm chí liên kết thiết bị của kẻ tấn công với tài khoản nạn nhân mà không hề bị phát hiện.
Tổng quan
Cái Bẫy “API WhatsApp Chính Hãng” gói npm mang tên lotusbail được tải lên registry npm từ tháng 05/2025 bởi một người dùng tự xưng “seiren_primrose”. Với hơn 56,000 lần tải xuống, thư viện này trông giống hệt một Web API WhatsApp thực thụ, đủ để thu hút dev sử dụng nó trong các ứng dụng chat, automation, CRM, hay bot hỗ trợ khách hàng.
Thay vì làm một package giả mạo đơn thuần, threat actor đã đầu tư xây dựng một thư viện hoạt động hoàn toàn bình thường. Package này base trên Baileys library – một thư viện WebSocket TypeScript hợp pháp để tương tác với WhatsApp Web API. Người dùng có thể gửi/nhận tin nhắn hoàn toàn bình thường, không có bất kỳ dấu hiệu gì cho thấy có vấn đề.
Điều nguy hiểm là: nó hoạt động đúng như kỳ vọng, tính năng gửi/nhận tin nhắn vẫn chạy bình thường nhưng đó chỉ là mồi nhử
Chi tiết Kỹ Thuật Tấn Công
1. Supply Chain Attack
Không giống malware đòi quyền admin hay exploit lỗ hổng bộ nhớ, lotusbail lợi dụng niềm tin vào mã nguồn mở:
- Tựa như một fork của thư viện chính thống
@whiskeysockets/baileys(một WebSockets-based TypeScript library cho WhatsApp Web) - Nhưng được thay thế thành “malware trong chức năng chính” ngay từ đầu. Với cách này, malware không bị khoanh vùng bởi static code analyzer hay hệ thống đánh giá dựa trên số lượt cài đặt.
Đây là điểm mấu chốt của supply chain attack hiện đại — chọn đúng điểm tiếp xúc của dev để đột nhập cả hệ thống mục tiêu.
2. WebSocket Wrapper
Khi dev sử dụng lotusbail để kết nối với WhatsApp:
- Thay vì gọi trực tiếp đến WebSocket WhatsApp, package gói WebSocket client bằng một wrapper độc hại.
- Mọi gói dữ liệu gửi/nhận đi qua wrapper này , tức là toàn bộ traffic WhatsApp bị chụp lại:
- Token xác thực & session key
- Tin nhắn gửi/nhận
- Danh bạ với số điện thoại
- Hình ảnh, video, tài liệu
- Metadata quan trọng khác
Sau đó, dữ liệu này được mã hóa (theo custom RSA + obfuscation layers) và gửi đến máy chủ do kẻ tấn công kiểm soát.
3. Backdoor Thiết Bị
Đây không phải “chỉ lấy dữ liệu rồi biến mất”. Lotusbail còn:
Sử dụng device linking process của WhatsApp để liên kết thiết bị của attacker với tài khoản nạn nhân ngay khi xác thực.
📌 Kể cả khi bạn gỡ package khỏi dự án, thiết bị của kẻ tấn công vẫn còn được liên kết với tài khoản WhatsApp của nạn nhân cho đến khi bị unlinked thủ công trong app settings.
4. Anti-Debugging
Khi dev cố debug mã nguồn để tìm hiểu nó hoạt động như thế nào:
- Lotusbail tích hợp cơ chế anti-debugging, khi phát hiện devtools hay breakpoint, nó sẽ rơi vào infinite loop trap, khiến app dừng hoạt động.
Điều này khiến static & dynamic analysis của các nhà bảo mật trở nên bất lực nếu không có sandbox runtime mạnh.
Khuyến nghị
Phía FPT Threat Intelligence khuyến nghị một số biện pháp bảo vệ như sau:
- Trước Khi Thêm Dependency.
- Kiểm tra repository gốc: tên tác giả, số sao, lịch sử commit
- Tự code review dependency thật kỹ
- Sử dụng các công cụ scan an ninh như npm audit, Snyk, OSS Index
- Không Tin Tuyệt Đối Vào Download Count.
- Áp Dụng Runtime Behaviour Analysis
- Static analysis không đủ, cần sandbox và runtime monitoring
- Hệ thống phát hiện tại runtime có thể phát hiện hành vi bất thường của WebSocket / exfiltration
- Quản Lý Thiết Bị Đăng Nhập
- Kiểm tra session và các thiết bị liên kết trong WhatsApp
- Revoke sessions không xác định
Tham khảo
Fake WhatsApp API Package on npm Steals Messages, Contacts, and Login Tokens
Fake WhatsApp API On Npm Puts Developers’ Accounts At Risk
| Bài viết độc quyền của chuyên gia FPT IS
Nguyễn Văn Trung – Trung tâm An toàn, bảo mật thông tin FPT |



