Các tác nhân đe dọa từ Triều Tiên liên quan đến chiến dịch Contagious Interview đã bị phát hiện sử dụng kỹ thuật ẩn mã (steganography) trong các tệp hình ảnh SVG để che giấu mã độc. Đây là một phần của chiến dịch sử dụng các thông báo tuyển dụng và thử thách lập trình giả mạo.
"Bất kỳ người dùng nào chạy dự án này đều kết thúc với một payload bốn giai đoạn tương tự như OTTERCOOKIE: một công cụ đánh cắp thông tin trình duyệt và ví tiền điện tử, một công cụ đánh cắp tệp tin, một trojan truy cập từ xa (RAT) dựa trên Socket.IO và một công cụ đánh cắp khay nhớ tạm (clipboard)," Elastic Security Labs cho biết trong một báo cáo chia sẻ với The Hacker News.
Các phát hiện này một lần nữa làm nổi bật việc các tin tặc do nhà nước bảo trợ có liên kết với Cộng hòa Dân chủ Nhân dân Triều Tiên (DPRK) liên tục nhắm mục tiêu vào các lập trình viên phần mềm nhằm đánh cắp dữ liệu nhạy cảm và chiếm đoạt ví tiền điện tử. Hoạt động này đang được theo dõi dưới cái tên REF9403.
Phương thức tiếp cận mới qua Slack
Bộ phận an ninh mạng của nền tảng quan sát và tìm kiếm doanh nghiệp Hà Lan cho biết họ đã phát hiện chiến dịch này sau khi các tác nhân đe dọa nhắm vào các thành viên trong không gian làm việc cộng đồng trên Slack của họ. Chúng sử dụng các mồi nhử kỹ thuật xã hội (social engineering) dưới dạng các lời mời làm việc giả mạo, cho thấy một con đường xâm nhập ban đầu mới chưa từng được ghi nhận trước đây trong các cuộc tấn công liên quan đến Contagious Interview — một chiến dịch kỹ thuật xã hội tinh vi đã diễn ra từ ít nhất là tháng 12 năm 2022.
Các tin nhắn được đăng bởi một người dùng tên Maxwell trên kênh #jobs của Slack vào cuối tháng 5 năm 2026, tìm kiếm một lập trình viên có kinh nghiệm để giúp nâng cấp nền tảng thương mại điện tử của họ sang "kiến trúc hiện đại, có khả năng mở rộng bằng cách sử dụng Next.js (v14), NestJS, PostgreSQL và Auth.js" cùng với tích hợp Stripe.
Những người bày tỏ sự quan tâm đến cơ hội này đã được chuyển sang nhắn tin trực tiếp và được hướng dẫn hoàn thành một bài kiểm tra lập trình như một phần của đề nghị công việc — một thủ đoạn tiêu chuẩn trong các chiến dịch Contagious Interview. Nhiệm vụ bao gồm việc thực thi một kho lưu trữ (repository) đã bị chèn trojan chứa mã độc được thiết kế để đánh cắp dữ liệu có giá trị và cấu hình một backdoor Socket.IO.
Mã độc ẩn giấu tinh vi trong tệp SVG
Cụ thể, các kho lưu trữ được phân phối như một phần của kế hoạch này bao gồm mã nguồn hoạt động bình thường nhưng cũng nhúng mã độc dưới dạng hình ảnh SVG để né tránh sự phát hiện.
"Trong khi những dự án trông có vẻ hợp lệ này chạy hoàn toàn bình thường, mã độc sẽ được kích hoạt âm thầm sau hậu trường," Elastic cho biết. "Các payload được chia thành các đoạn base64 bên trong các chú thích HTML trên mọi hình ảnh lá cờ SVG trong thư mục tài sản. Các tệp này trông giống như hình ảnh bình thường của quốc kỳ các nước (AE.svg, AF.svg), nhưng mỗi tệp chứa một khối chú thích được chèn thêm dữ liệu mã hóa Base64."
Payload sau đó được lắp ráp lại bởi một tệp JavaScript ("serverValidation.js") có trong kho lưu trữ. Chuỗi tấn công được thiết kế để mã độc thực thi mỗi khi máy chủ khởi động. Elastic cho biết payload chính có sự trùng lặp với OtterCookie, một mã độc đa nền tảng xuất hiện lần đầu vào tháng 9 năm 2024.
Microsoft đã lưu ý vào tháng 3 rằng OtterCookie "đã tiến hóa từ một công cụ cơ bản để thực thi các lệnh từ xa và tìm kiếm khóa tiền điện tử thành một chương trình mô-đun có khả năng đánh cắp dữ liệu rộng hơn, với khả năng kiểm tra môi trường máy ảo (VM), cài đặt các ứng dụng giao tiếp như socket.io cho C2, đánh cắp thông tin, thực thi các lệnh shell tùy ý, tải các mô-đun khác để thu thập dữ liệu cụ thể và báo cáo kết quả."
Các mô-đun và mục tiêu của mã độc
Mã độc này bao gồm bốn mô-đun riêng biệt cho phép nó thu thập dữ liệu từ trình duyệt web và ví tiền điện tử, thu thập các tệp khớp với danh sách phần mở rộng cụ thể, hỗ trợ điều khiển từ xa liên tục bằng trojan dựa trên Socket.IO, thu thập nội dung khay nhớ tạm và thả các tệp thực thi Windows.
Trong số các tệp bị OtterCookie thu thập có cả các tiện ích mở rộng công cụ lập trình trí tuệ nhân tạo (AI) như .claude, .cursor, .gemini, .windsurf, .pearai và .llama, cho thấy tác nhân đe dọa đang tích cực tinh chỉnh kho vũ khí của mình để thu thập càng nhiều thông tin càng tốt.
Đáng chú ý là mã độc này cũng có một số điểm tương đồng về chức năng với một công cụ đánh cắp dữ liệu và trojan được phân phối qua các gói npm giả mạo giả danh công cụ Rollup polyfill, cho thấy các tác nhân đe dọa đang theo đuổi nhiều con đường để phát tán.
"Chiến dịch này củng cố rằng các lập trình viên vẫn là mục tiêu hàng đầu, nơi việc xâm nhập vào một cá nhân duy nhất có thể cung cấp quyền truy cập ban đầu cần thiết để thực hiện các cuộc tấn công chuỗi cung ứng sâu rộng nhắm vào các tổ chức hạ nguồn," Elastic nhận định.