
šŖ Fake MetaMask Wallet Malware Steals Crypto from Developers via āJob Interviewsā
If you work in crypto, Web3, AI, or software development, this campaign was designed for you.
Attackers are posing as recruiters and delivering malware through fake coding interview assignments. The trap hides inside trojanized NPM packages, turning what looks like a legitimate development test into a full compromise of the victimās machine ā and their crypto wallets.
At the center of this campaign are two malware families:
BeaverTail ā a JavaScript loader and data exfiltration tool
InvisibleFerret ā a Python-based remote access backdoor
Together, they create a multi-stage attack chain capable of stealing credentials, browser data, and cryptocurrency wallet keys.
And the most dangerous part?
The attackers donāt just steal files.
They replace the victimās MetaMask wallet with a malicious version.
šÆ The Setup: Fake Recruiter, Real Malware
The campaign starts with a familiar scenario.
A developer receives a message from a recruiter offering a job opportunity. As part of the hiring process, the candidate is asked to complete a ātechnical coding challenge.ā
The challenge includes an NPM project repository containing what appears to be normal development code.
But hidden inside the package is a malicious JavaScript loader.
When the candidate runs the project locally, the infection begins.
š§© Stage 1: Lightweight JavaScript Loader
The first-stage malware performs only three actions:
1ļøā£ Retrieve the command-and-control (C2) address
2ļøā£ Send a beacon confirming the system is infected
3ļøā£ Download the next payload stage
This minimalist design reduces the loaderās detection footprint.
Once activated, it installs files inside a VS Code-related directory, silently installs dependencies via NPM, and launches the next script with Node.js in hidden mode.
The victim never sees it happen.
š§ Stage 2: Data Discovery and System Profiling
The second-stage scripts begin scanning the system for valuable data.
Files matching high-value keywords are targeted, including:
wallet
metamask
seed
mnemonic
keys
solana
hardhat
env
kdbx
The malware also harvests:
Browser credentials
Password manager files
Cryptocurrency wallet artifacts
This works across Windows, macOS, and Linux environments.
šŖ Stage 3: Trojanized MetaMask Wallet
This is where the campaign becomes particularly dangerous.
Attackers identify whether the victim has MetaMask installed in Chromium-based browsers, including:
Google Chrome
Brave
If detected, the malware downloads a malicious MetaMask extension and replaces the legitimate extension directory.
Then it modifies Chromeās Secure Preferences configuration.
Normally, Chrome blocks tampering with extension settings.
But the attackers generate new HMAC-SHA256 signatures that match Chromeās validation process.
That means the browser accepts the malicious configuration as legitimate.
The fake MetaMask loads silently.
No warning.
No popup.
No suspicion.
š Credential Theft from the Wallet
Instead of rewriting MetaMask completely, the attackers add a small injected script.
This malicious code hooks into the walletās password submission routine.
Every time the user unlocks MetaMask, the script sends:
The plaintext wallet password
A URL-encoded version of the password
The encrypted wallet vault
All transmitted to the attackerās server.
With both the vault and password in hand, attackers can decrypt seed phrases and private keys offline.
They donāt even need access to the victimās computer anymore.
They can drain the wallet anytime.
𧬠Stage 4: InvisibleFerret Remote Access
The final stage deploys InvisibleFerret, a Python-based remote access tool.
This backdoor allows attackers to:
Maintain persistent access
Execute commands remotely
Retrieve additional data
Deploy further payloads
Combined with the wallet compromise, this turns a single developer machine into a long-term espionage asset.
ā ļø Why Developers Are the Target
Developers working in crypto ecosystems hold enormous value.
Their machines often contain:
Private keys
Wallet backups
API tokens
Infrastructure credentials
Smart contract code
Compromising one developer can expose entire blockchain projects.
Thatās why attackers are shifting from phishing emails to developer supply chain attacks.
š” How to Protect Against This Campaign
Security teams and developers should implement the following controls:
1ļøā£ Verify Interview Assignments
Never run unknown code directly on your primary workstation.
Use isolated environments or disposable VMs.
2ļøā£ Audit NPM Dependencies
Malicious packages often hide inside legitimate-looking dependency trees.
3ļøā£ Monitor Browser Extension Changes
Unexpected modifications to extension directories or Secure Preferences files should trigger alerts.
4ļøā£ Protect Wallets with Hardware Devices
Hardware wallets significantly reduce the risk of seed phrase theft.
5ļøā£ Separate Development and Wallet Environments
Never store production wallet credentials on development machines.
šÆ Strategic Takeaway
The modern cyber battlefield isnāt just email inboxes anymore.
Itās developer ecosystems.
Code repositories.
Package registries.
Technical interview assignments.
Attackers know that if they compromise the developer, they compromise everything the developer touches.
And in the world of crypto?
That often means real money.
