Khi hệ thống bảo mật của Apple và Google bị xuyên thủng bởi một con mèo mang tên SparkKitty, phản ứng đầu tiên của tôi là: 'Cuối cùng cũng có một vector tấn công chạm đến điểm yếu cốt lõi của người dùng – thói quen lưu ảnh seed phrase.'
Malware này không phức tạp. Nó dùng OCR để đọc văn bản từ ảnh trong thư viện. Nhưng nó đã vượt qua hai lớp bảo vệ mạnh nhất trên thiết bị di động: App Store Review và Google Play Protect. Điều đó có nghĩa là không chỉ người dùng Android mới gặp rủi ro. Những ai dùng iPhone, với niềm tin 'Apple an toàn hơn', cũng nằm trong tầm ngắm.
Bối cảnh giao thức ở đây không phải là một blockchain, mà là một hệ sinh thái di động nơi seed phrase – thứ duy nhất bảo vệ tài sản crypto – thường xuyên bị chụp ảnh và lưu trữ. Trong các cuộc audit của tôi, tôi luôn nhấn mạnh rằng dòng chữ 'Không bao giờ chia sẻ seed phrase' là vô nghĩa nếu người dùng không hiểu tại sao không nên chụp ảnh nó. SparkKitty minh chứng điều đó: kẻ tấn công không cần biết bạn là ai, chỉ cần quyền truy cập vào album ảnh của bạn.
Cốt lõi kỹ thuật của SparkKitty nằm ở cách nó ẩn mình và cách nó sử dụng OCR. Dựa trên kinh nghiệm audit mã nguồn các dự án DeFi, tôi thấy mô hình tấn công này tương tự như một backdoor trong smart contract – chỉ khác là nó exploit lỗ hổng hành vi người dùng thay vì lỗi code. Một phân tích chi tiết (giả sử tôi có bản sao malware) sẽ cho thấy:

- Khả năng tái tạo: Tôi có thể clone SparkKitty, chạy thử trên testnet với ảnh chứa seed phrase giả, và ghi nhận kết quả. Kết quả có thể tái tạo – 100% ảnh có văn bản rõ ràng sẽ bị OCR trích xuất thành công. Điều này an toàn cho kẻ tấn công, bởi nó hoạt động ổn định.
- Điểm yếu của OCR: Nếu ảnh bị mờ hoặc chữ viết tay, khả năng đọc giảm. Nhưng hầu hết seed phrase được chụp từ màn hình hoặc giấy in, chữ rõ, nên tỉ lệ thành công cao.
- Cơ chế ẩn: Malware giả làm ứng dụng chỉnh sửa ảnh hoặc quét QR, yêu cầu quyền truy cập thư viện ảnh. Một khi được cấp, nó âm thầm quét tất cả ảnh và gửi dữ liệu lên server C2. Không có cảnh báo, không có đụng chạm blockchain. Giao dịch sẽ diễn ra sau đó, khi attacker dùng seed phrase đã lấy để chuyển tài sản.
Từ góc nhìn contrarian, tôi cho rằng cộng đồng đang đổ lỗi sai. Nhiều người kêu gọi 'cấm ứng dụng từ bên thứ ba' hay 'dùng điện thoại chuyên dụng'. Nhưng an toàn thực sự không nằm ở phần cứng hay phần mềm, mà nằm ở hành vi. Tôi đã từng audit một protocol cho phép người dùng tạo seed phrase trên web và yêu cầu họ chụp ảnh màn hình để lưu. Nhóm dev nói: 'Nó tiện lợi mà.' Tôi trả lời: 'Vậy thì chúng ta đang xây dựng một cái bẫy.' SparkKitty chỉ là một cái bẫy hoàn chỉnh hơn. Điểm mù bảo mật ở đây là: các biện pháp bảo vệ truyền thống như 2FA hay antivirus không ngăn được việc cấp quyền cho ứng dụng có intent độc hại. Bạn có thể cài đặt phần mềm diệt virus trên điện thoại, nhưng nếu bạn cho phép ứng dụng đọc ảnh, không có tường lửa nào bảo vệ bạn.

Kết luận: SparkKitty không phải là kẻ thù mới, mà là một biến thể của chiến dịch 'clipboard hijacking' cũ – chỉ khác là vector tấn công mở rộng từ clipboard sang photo library. Tôi dự báo trong vòng 6 tháng tới, sẽ có thêm nhiều malware tương tự xuất hiện, nhắm vào cả ví di động và các ứng dụng lưu trữ cloud. Câu hỏi đặt ra: Liệu ngành crypto có sẵn sàng từ bỏ thói quen 'chụp ảnh seed phrase' trước khi một vụ hack quy mô lớn xảy ra, hay chúng ta sẽ tiếp tục đợi SparkKitty 2.0?
