Saturday, October 17, 2026
Follow on LinkedIn

Hackers Pose as Recruiters and Send Fake Coding Tests to Infect Software Developers

Cybercriminals are posing as recruiters to turn routine job interviews into malware traps for software developers.

Their latest campaign delivers two cross-platform remote access tools, NodeRabbit and PollCat, through coding challenges that look like genuine take-home tests.

The activity has reached victims in aviation, aerospace and financial technology across Egypt, Ethiopia and Afghanistan.

It also shows how a seemingly ordinary project download can give attackers a foothold on a developer workstation, where source code, cloud credentials and corporate access may be within reach.

Researchers at Securelist identified the previously undocumented NodeRabbit and PollCat families while tracking the Mirage Kitten group.

Securelist said in a report shared with Cyber Security News (CSN) that this is the group’s first publicly documented use of Node.js and JavaScript implants.

The shift matters because the malware runs on Windows, Linux and macOS, matching the mixed environments common in engineering teams.

TaskFlow (Source - Securelist)
TaskFlow (Source – Securelist)

It also extends an established social-engineering pattern seen in earlier fake recruiter campaigns, but combines it with more persistent access and developer-focused tricks.

Hackers Pose as Recruiters and Send Fake Coding Tests

The infection starts with a recruiter persona on LinkedIn or another job-search service. The target is offered an engineering role and sent a link to a coding assessment stored in an Amazon S3 bucket, then pressured to download and run the project quickly.

One lure, named TaskFlow, claimed to be a frontend bug-fixing exercise. Its README set a three-hour limit, told candidates not to use AI assistants and insisted that the server.js file was already correct. Those instructions steered attention away from the altered code.

The first line of server.js imported colorized_terminal version 2.1.0, a malicious package bundled inside node_modules rather than published on npm.

Rules and time limit included in the trojanized coding challenge app README file (Source - Securelist)
Rules and time limit included in the trojanized coding challenge app README file (Source – Securelist)

Importing it quietly launched NodeRabbit in the background from a hidden cache path, echoing risks in the binding.gyp supply chain attack, where normal developer actions triggered code execution.

Other archives used a second tainted package, pretty-log, to start more advanced NodeRabbit variants. The researchers recovered related samples from systems in Afghanistan, Egypt and Ethiopia, linking the campaign to a broader effort against organizations in the Middle East and Africa.

NodeRabbit and PollCat Expand Access

NodeRabbit gathers host details, communicates with remote servers and can run commands, list processes, browse files and transfer data.

Its later version also searches developer project locations, can add a fake editor extension and injects launchers into Git hooks, so routine development work may restart the malware.

PollCat arrives through a separate React-based assessment called RankChallenge-react. The project asks the candidate to run an installation command and then presents an expiring, recruiter-supplied one-time code, a design that builds urgency while its hidden component begins contacting attacker infrastructure.

Once active, PollCat can execute shell commands, move or delete files, collect system information and move files between the victim and its operators.

The bundled .env file (Source - Securelist)
The bundled .env file (Source – Securelist)

It establishes persistence through scheduled tasks on Windows, cron jobs on Linux, or a LaunchAgent on macOS. The outcome resembles the compromised node-ipc package, where a loaded JavaScript module exposed developer secrets and enabled remote control.

Developers should treat unsolicited assessment archives as untrusted software, even when the sender has a convincing professional profile.

Confirm the opportunity through an employer’s official channel, inspect dependencies and startup files before running a project, and use an isolated environment that contains no production credentials or private repositories.

Teams should also review recent coding-test downloads, check for unexpected scheduled tasks, editor extensions and changed Git hooks, and rotate credentials stored on a machine that ran a suspicious challenge.

That caution is especially important after the malicious undicy-http package campaign, which similarly showed how a deceptive JavaScript package can persist and expose sensitive data.

Employers should recognize that recruiting now sits inside the attack surface. Security teams can give candidates safe testing environments and simple ways to verify whether a recruiter, assignment and download link are legitimate.

Indicators of compromise (IoCs):-

TypeIndicatorDescription
File hash, MD5CBAAF0900A13F28E380F49ADECEC932CFrontEnd-Task.zip
File hash, MD51EA83E4E4592B01E4ACAB63EB867BEE5Front-Technical-Challenge.zip
File hash, MD5366515822D5AC1CC500711EF57A2E32ETask-FullStack.zip
File hash, MD5CF449F1992C2819E62AC44A0B06AC2E7fullstack-1536.zip
File hash, MD5E95A4366686E3F786EA3C056FAB5B0DAwebapp76592.zip
File hash, MD5DE5AF16A3757EF700B01DC34D67079AEwebapp76531.zip
File hash, MD5BE086789568441D0D7E4679AEE51F566challenges-17831.zip
File hash, MD5E259C5EDF158AAC4CFE14F77DDD0B196challenges-17832.zip
File hash, MD5291AC3ABE73C5158E59A437B75D5F0AAProject-1802.zip
File hash, MD50962F56D7EC69F4F2A0162DCBE22116BCase-34234.zip
File hash, MD5795E053A990A1569FFDCB57F48F6D085RankChallenge-react-6uJSX3-main.zip
File hash, MD5810F8E3B88EB05F710C09552941D6F56Retrograde/MiniFast native DLL backdoor reference sample
URLhttps://oracle-challenge.s3[.]us-east-1.amazonaws[.]com/Front-Technical-Challenge.zipTrojanized coding-challenge archive download
Domainoracle-challenge.s3[.]us-east-1.amazonaws[.]comHost for the coding-challenge archive
Domainnaturalapplication.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainretaildemo.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domaintubitak.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainrgbteller.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainwslwebui.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainplugplay.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domaincrossdwm.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainwdisystem.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainwslmenus.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domaindnshnsdev.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainhpjumpsrv.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainstorview.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainhealthcomfsdpower[.]comNodeRabbit command-and-control infrastructure
Domainvisitfinancedentists[.]comNodeRabbit command-and-control infrastructure
Domainkyrasey-f8hfexa5cqamh7fk.westeurope-01.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domaingreenyjsgfd.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainhelptellerbls.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domaintimedrv.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainuserwellgtfs.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainhecowime-aqdphyd4bbdef6es.westeurope-01.azurewebsites[.]netNodeRabbit command-and-control infrastructure
Domainmsmanagementgrp[.]comNodeRabbit command-and-control infrastructure
Domainmsmanagementgrpmedia[.]comNodeRabbit command-and-control infrastructure
URLhttps://lifespotify[.]com/api/users/b879746e-fed9-4211-a6da-4d8223681267/otp/validatePollCat lure OTP-validation endpoint
Domainlifespotify[.]comPollCat infrastructure and OTP-validation host
Domaingamebarapp.azurewebsites[.]netPollCat command-and-control infrastructure
Domaingamebarappinformation.azurewebsites[.]netPollCat command-and-control infrastructure
Domainsahi-finance[.]comPollCat command-and-control infrastructure
Domainhealthful-hub[.]comAdditional infrastructure attributed to Mirage Kitten
Domainneumedicahealthcare[.]comAdditional infrastructure attributed to Mirage Kitten
Domainoptimumhealthcredit[.]comAdditional infrastructure attributed to Mirage Kitten
Domainhealthfullyrecipes[.]comAdditional infrastructure attributed to Mirage Kitten
DomainRefreshhealthandwellness[.]comAdditional infrastructure attributed to Mirage Kitten
Domainhealthvitalitycare[.]comAdditional infrastructure attributed to Mirage Kitten
Domainaceofspadesmanagement[.]comAdditional infrastructure attributed to Mirage Kitten
Domainglmediaagency[.]comAdditional infrastructure attributed to Mirage Kitten
Domaindigimediaskill[.]comAdditional infrastructure attributed to Mirage Kitten
Domainhealthyweightplan[.]comAdditional infrastructure attributed to Mirage Kitten
Domainmens-health-online[.]comAdditional infrastructure attributed to Mirage Kitten

Note: IP addresses and domains are intentionally defanged (e.g., [.]) to prevent accidental resolution or hyperlinking. Re-fang only within controlled threat intelligence platforms such as MISP, VirusTotal, or your SIEM.

Prevent incidents due to slow investigations. Power your Tier 1 with threat intelligence from 15K SOCs: Integrate TI Lookup in your SOC

Tushar Subhra Dutta
Tushar Subhra Dutta
Tushar is a senior cybersecurity and breach reporter. He specializes in covering cybersecurity news, trends, and emerging threats, data breaches, and malware attacks. With years of experience, he brings clarity and depth to complex security topics.
0-Hour Cyber Security Alerts!
Get the latest Cyber security News sent directly to your inbox.

Cyber Security Guide

Latest Cyber News

Expert Talks