Các tác nhân đe dọa của Triều Tiên, liên quan đến chiến dịch dài hạn Contagious Interview, đã bị phát hiện sử dụng các dự án Microsoft Visual Studio Code (VS Code) độc hại làm mồi nhử để cài đặt backdoor trên các điểm cuối bị xâm nhập.
Phát hiện mới nhất cho thấy sự phát triển liên tục của chiến thuật mới này, được Jamf Threat Labs công bố lần đầu vào tháng 12 năm 2025.
"Hoạt động này liên quan đến việc triển khai một backdoor cung cấp khả năng thực thi mã từ xa trên hệ thống nạn nhân," nhà nghiên cứu bảo mật Thijs Xhaflaire cho biết trong một báo cáo được chia sẻ với The Hacker News.
Được OpenSourceMalware tiết lộ lần đầu vào tháng trước, cuộc tấn công về cơ bản liên quan đến việc hướng dẫn các mục tiêu tiềm năng sao chép một repository trên GitHub, GitLab hoặc Bitbucket, và khởi chạy dự án trong VS Code như một phần của bài đánh giá công việc giả mạo.
Mục tiêu cuối cùng của những nỗ lực này là lạm dụng các tệp cấu hình tác vụ của VS Code để thực thi các payload độc hại được lưu trữ trên các domain Vercel, tùy thuộc vào hệ điều hành trên máy chủ bị nhiễm. Tác vụ được cấu hình để chạy mỗi khi tệp đó hoặc bất kỳ tệp nào khác trong thư mục dự án được mở trong VS Code bằng cách đặt tùy chọn "runOn: folderOpen". Điều này cuối cùng dẫn đến việc triển khai BeaverTail và InvisibleFerret.
Các phiên bản tiếp theo của chiến dịch đã được phát hiện là che giấu các dropper đa tầng tinh vi trong các tệp cấu hình tác vụ bằng cách ngụy trang phần mềm độc hại thành các từ điển kiểm tra chính tả vô hại như một cơ chế dự phòng trong trường hợp tác vụ không thể truy xuất payload từ domain Vercel.
Như trước đây, JavaScript bị làm rối được nhúng trong các tệp này sẽ được thực thi ngay khi nạn nhân mở dự án trong integrated development environment (IDE). Nó thiết lập giao tiếp với một máy chủ từ xa ("ip-regions-check.vercel[.]app") và thực thi bất kỳ mã JavaScript nào nhận được từ đó. Giai đoạn cuối cùng của cuộc tấn công là một JavaScript khác bị làm rối rất nặng.
Phương pháp lây nhiễm mới và chuỗi tấn công
Jamf cho biết họ đã phát hiện một thay đổi khác trong chiến dịch này, với việc các tác nhân đe dọa sử dụng một phương pháp lây nhiễm chưa được ghi nhận trước đây để cài đặt một backdoor cung cấp khả năng thực thi mã từ xa trên máy chủ bị xâm nhập. Điểm khởi đầu của chuỗi tấn công không khác biệt, đó là nó được kích hoạt khi nạn nhân sao chép và mở một Git repository độc hại bằng VS Code.
"Khi dự án được mở, Visual Studio Code sẽ nhắc người dùng tin cậy tác giả repository," Xhaflaire giải thích. "Nếu sự tin cậy đó được cấp, ứng dụng sẽ tự động xử lý tệp cấu hình tasks.json của repository, điều này có thể dẫn đến việc các lệnh tùy ý được nhúng sẽ được thực thi trên hệ thống."
"Trên các hệ thống macOS, điều này dẫn đến việc thực thi một lệnh shell nền sử dụng nohup bash -c kết hợp với curl -s để truy xuất một JavaScript payload từ xa và chuyển trực tiếp vào Node.js runtime. Điều này cho phép quá trình thực thi tiếp tục độc lập nếu tiến trình Visual Studio Code bị chấm dứt, đồng thời ngăn chặn tất cả đầu ra lệnh."
JavaScript payload, được lưu trữ trên Vercel, chứa logic backdoor chính để thiết lập một vòng lặp thực thi dai dẳng nhằm thu thập thông tin cơ bản của máy chủ và giao tiếp với một máy chủ từ xa để tạo điều kiện thực thi mã từ xa, lấy dấu vân tay hệ thống và giao tiếp liên tục.
Trong một trường hợp, công ty quản lý thiết bị của Apple cho biết họ đã quan sát thấy nhiều lệnh JavaScript hơn được thực thi khoảng tám phút sau lần lây nhiễm ban đầu. JavaScript mới được tải xuống được thiết kế để gửi tín hiệu đến máy chủ mỗi năm giây, chạy thêm JavaScript và xóa dấu vết hoạt động của nó khi nhận được tín hiệu từ operator. Có thể script này đã được tạo bằng công cụ artificial intelligence (AI) do sự hiện diện của các bình luận nội tuyến và cách diễn đạt trong mã nguồn.
Mục tiêu và sự tiến hóa của chiến thuật tấn công
Các tác nhân đe dọa có liên hệ với Democratic People's Republic of Korea (DPRK) được biết là nhắm mục tiêu cụ thể vào các kỹ sư phần mềm, đặc biệt là những người làm việc trong các lĩnh vực cryptocurrency, blockchain và fintech, vì họ thường có quyền truy cập đặc quyền vào tài sản tài chính, ví kỹ thuật số và cơ sở hạ tầng kỹ thuật.
Việc xâm nhập vào tài khoản và hệ thống của họ có thể cho phép những kẻ tấn công truy cập trái phép vào mã nguồn, sở hữu trí tuệ, hệ thống nội bộ và đánh cắp tài sản kỹ thuật số. Những thay đổi liên tục trong chiến thuật của chúng được coi là một nỗ lực để đạt được nhiều thành công hơn trong các mục tiêu gián điệp mạng và tài chính nhằm hỗ trợ chế độ đang bị trừng phạt nặng nề.
Diễn biến này xảy ra khi Red Asgard đã trình bày chi tiết cuộc điều tra của mình về một repository độc hại được phát hiện sử dụng cấu hình tác vụ VS Code để lấy JavaScript bị làm rối, được thiết kế để thả một backdoor đầy đủ tính năng có tên Tsunami (hay còn gọi là TsunamiKit) cùng với một XMRig cryptocurrency miner.
Một phân tích khác từ Security Alliance vào tuần trước cũng đã vạch trần việc chiến dịch lạm dụng các tác vụ VS Code trong một cuộc tấn công, trong đó một nạn nhân không xác định đã được tiếp cận trên LinkedIn, với các tác nhân đe dọa tự xưng là giám đốc công nghệ của một dự án tên là Meta2140 và chia sẻ một liên kết Notion[.]so chứa một bài đánh giá kỹ thuật và một URL đến một Bitbucket repository lưu trữ mã độc hại.
Điều thú vị là, chuỗi tấn công được thiết kế để dự phòng bằng hai phương pháp khác: cài đặt một npm dependency độc hại có tên "grayavatar" hoặc chạy mã JavaScript chịu trách nhiệm truy xuất một Node.js controller tinh vi, đến lượt nó, chạy năm module riêng biệt để ghi lại keystrokes, chụp ảnh màn hình, quét thư mục chính của hệ thống để tìm các tệp nhạy cảm, thay thế địa chỉ ví được sao chép vào clipboard, thông tin đăng nhập từ các trình duyệt web và thiết lập kết nối liên tục đến một máy chủ từ xa.
Phần mềm độc hại sau đó tiến hành thiết lập một môi trường Python song song sử dụng một stager script cho phép thu thập dữ liệu, đào cryptocurrency bằng XMRig, keylogging và triển khai AnyDesk để truy cập từ xa. Cần lưu ý rằng các lớp Node.js và Python được gọi tương ứng là BeaverTail và InvisibleFerret.
Những phát hiện này chỉ ra rằng các tác nhân được nhà nước bảo trợ đang thử nghiệm nhiều phương pháp phân phối song song để tăng khả năng thành công của các cuộc tấn công.
"Hoạt động này làm nổi bật sự phát triển liên tục của các tác nhân đe dọa liên kết với DPRK, những người luôn điều chỉnh công cụ và cơ chế phân phối của họ để tích hợp với các quy trình làm việc hợp pháp của nhà phát triển," Jamf cho biết. "Việc lạm dụng các tệp cấu hình tác vụ Visual Studio Code và thực thi Node.js cho thấy các kỹ thuật này tiếp tục phát triển cùng với các công cụ phát triển thường được sử dụng như thế nào."