Tôi vừa mở một file .dmg giả mạo. Nhìn bên ngoài là ứng dụng Relay – AI meeting tool hot trên Product Hunt. Nhưng trong Info.plist, thay vì gọi binary, nó chạy một shell script obfuscated. Đấy là dấu hiệu đầu tiên.
Cái gọi là AI interview tool thực ra chỉ là một backdoor disguised as startup.
Bối cảnh: Thị trường crypto đang đi ngang, nhưng hoạt động tuyển dụng Web3 vẫn sôi động. Dev giỏi được săn đón, ai cũng mong có offer từ những dự án top. Kẻ tấn công biết điều đó. Chúng tạo hồ sơ Linkedin giả, làm thành recruiter từ các quỹ đầu tư hoặc protocol nổi tiếng. Gửi lời mời phỏng vấn, kèm link tải "Relay – công cụ họp AI thế hệ mới". Một cú social engineering hoàn hảo.
SlowMist vừa publish phân tích. Relay thực chất là một infostealer đa nền tảng, đóng gói cho cả macOS và Windows. Dựa trên kinh nghiệm audit của tôi, đây không phải zero-day exploit cầu kỳ, mà là sự kết hợp giữa trust và kỹ thuật tinh vi. Họ lợi dụng thói quen của developer: chạy file .dmg không qua verification, cài app mà không check code signing.
Cơ chế hoạt động: File .dmg chứa app bundle giả, bên trong nhúng một binary nhỏ gọn viết bằng Rust hoặc Go. Rust – signature nhỏ, khó reverse. Binary này sau khi chạy sẽ: 1. Copy vào ~/Library/LaunchAgents/, thiết lập persistence dưới dạng service. 2. Quét ~/Library/Keychains/, lấy mật khẩu ví Metamask, Phantom, Solflare. 3. Đọc Cookies từ Chrome, Brave, Firefox – lấy session của Telegram, Discord, Twitter. 4. Gửi toàn bộ về C2 server qua HTTPS mã hóa. Không dùng IP tĩnh, mà dùng domain thay đổi DNS.

Tôi từng audit một giao thức DeFi bị mất 15% token vì integer overflow. Nhưng lỗi đó có thể phát hiện bằng static analysis. Ở đây, lỗi nằm ở hành vi người dùng – khó hơn nhiều. Ngay cả dev giỏi nhất cũng có thể bị lừa, vì họ quen với việc chạy script từ GitHub và tin vào email recruiter.
Điểm mấu chốt kỹ thuật: Malware này không chỉ steal private key từ file, nó còn lấy được mnemonic phrase từ clipboard history. Một chi tiết tôi thấy hay: nó ghi lại các lệnh terminal sử dụng .bash_history, tìm các dòng chứa cast send hoặc curl -X POST với private key. Cực kỳ tinh vi.

Relay app? Không, nó relay dữ liệu của bạn trực tiếp đến attacker.
Góc nhìn contrarian: Đa số nghĩ bảo mật Web3 là audit smart contract. Nhưng thực tế, vector tấn công lớn nhất lại là con người và tool hỗ trợ. Khi bạn audit một protocol, bạn kiểm tra logic code, nhưng không ai kiểm tra cách user tương tác với giao thức đó. Attack surface ở đây là cả hệ sinh thái: wallet, browser, Telegram, email, AI tool.
Tôi dự đoán: Trong 6 tháng tới, sẽ xuất hiện plugin trình duyệt kiểm tra hash file interview tool. Hoặc ngược lại, kẻ tấn công sẽ fake hash đó. Cuộc đua không bao giờ kết thúc.
Takeaway: Đừng tin bất kỳ recruiter nào trên Linkedin. Yêu cầu họ verify identity qua PGP key hoặc ENS domain. Dùng máy ảo cho phần mềm lạ. Và quan trọng nhất: Private key của bạn nằm trong hardware wallet, chứ không nằm trong file .dmg.

Còn bạn? Bạn có dám gửi PGP signature cho recruiter trước khi tải app không?