Critical npm Package Hijacked: ‘rand-user-agent’ Used to Deploy Remote Access Trojan

Listen to this Post

Featured Image
Introduction: A Wake-Up Call for Developers in the npm Ecosystem

In a concerning development for the JavaScript and Node.js communities, a widely used npm package named rand-user-agent has been compromised in a sophisticated supply chain attack. This package, commonly utilized for generating randomized user-agent strings in web scraping and testing scenarios, was hijacked by malicious actors who injected stealthy code designed to deploy a remote access trojan (RAT) on unsuspecting users’ systems.

Despite being deprecated, rand-user-agent still attracted significant attention, boasting around 45,000 downloads each week. Its popularity made it an ideal target for exploitation. The attack was uncovered on May 5, 2025, by cybersecurity firm Aikido, which discovered suspicious behavior in version 1.0.110 of the package. Upon further inspection, multiple malicious releases were found to contain obfuscated code intended to grant attackers covert access to users’ machines.

This incident serves as a sobering reminder of the ever-growing threat posed by supply chain attacks within the open-source ecosystem. Even inactive projects with lingering popularity are not immune to exploitation—and the consequences can be severe.

Attack Summary: How rand-user-agent Was Weaponized

Targeted Package: rand-user-agent, a tool that randomizes user-agent strings for anonymity and security research.
Attack Type: Supply chain attack involving unauthorized code injection in npm releases.
Detection: Identified by Aikido’s malware scanner on May 5, 2025, in version 1.0.110.
Malicious Versions: 2.0.83, 2.0.84, and 1.0.110—none of which had corresponding GitHub releases.
Point of Infection: Obfuscated JavaScript was hidden inside dist/index.js, cleverly concealed using horizontal scroll in the npm source viewer.

Malware Behavior:

Creates a hidden folder `~/.node_modules`.

Alters module paths to allow loading attacker-controlled modules like axios and socket.io-client.
Opens a socket connection to a C2 server at `http://85.239.62[.]36:3306`.
Sends sensitive machine metadata: hostname, OS, user info, UUID.

RAT Commands Supported:

Change directories.

Upload files or entire directories.

Stop transfers.

Execute arbitrary shell commands.

Impact: The malicious package versions provided attackers persistent remote access and control over infected machines.
Current Status: Malicious versions have been removed from npm. Users should revert to the last safe release: 2.0.82.

Remediation Advice:

Do not assume downgrading cleans the infection—perform a full system audit and malware scan.

Prefer safer, community-maintained forks of `rand-user-agent`.

What Undercode Say:

This incident is yet another illustration of the complex threat matrix modern software developers must navigate. Supply chain attacks have evolved beyond targeting infrastructure or enterprise networks. Today, the open-source community—once thought to be a beacon of transparency and security—is facing targeted infiltration through package managers like npm and PyPI.

The compromise of rand-user-agent exposes how even semi-abandoned tools can become potent vectors for malware dissemination. With 45,000 weekly downloads, the risk scale was massive. Attackers clearly relied on the assumption that developers—especially those using automation or CI/CD pipelines—would unknowingly upgrade to newer versions without thoroughly reviewing the changes.

By hiding obfuscated code in horizontally scrollable sections of JavaScript files, the attackers showed a deep understanding of how to evade casual detection. Most developers won’t scroll horizontally in code viewers, making it a smart, albeit malicious, camouflage technique.

The RAT’s capabilities indicate it was tailored for long-term exploitation. The use of persistent socket connections, directory manipulation, and dynamic file uploads means attackers were prepared to exfiltrate sensitive data or manipulate infected systems at will. Furthermore, the use of shell execution opens the door to virtually limitless damage—from data theft to full-scale lateral movement in corporate environments.

What’s particularly troubling is the delay between the malicious code’s deployment and its discovery. While Aikido’s systems eventually flagged the issue, the interim likely gave attackers ample time to compromise environments where the infected versions were installed.

The mitigation measures outlined—like scanning systems and using safer forks—are essential, but the real takeaway is broader: package trust must be re-evaluated across development pipelines. Code should never be blindly trusted, no matter how popular or seemingly innocuous the source is.

Going forward, open-source maintainers must adopt signing practices, automated integrity checks, and stronger vetting mechanisms for new versions. Likewise, developers must apply stricter hygiene—pinning versions, using lockfiles, and avoiding automatic updates without audits.

The rand-user-agent compromise isn’t an isolated event—it’s part of a growing pattern. From coa to ua-parser-js, the ecosystem has seen multiple cases of similar attacks. Until security becomes a default expectation in software development—not an afterthought—incidents like this will continue to escalate in frequency and impact.

Fact Checker Results:

The malicious versions were confirmed as 2.0.83, 2.0.84, and 1.0.110.
The last legitimate release was 2.0.82, dating back 7 months.
The C2 server address and obfuscated injection were verified by Aikido’s report.

Prediction: The Future of Package Security in the Open Source World

Expect increased scrutiny of deprecated or under-maintained packages, as they are prime targets for hijackers seeking stealthy infiltration points. Package registries like npm may soon adopt stricter deprecation controls and automatic detection of suspicious versioning or behavioral anomalies. We also foresee widespread adoption of metadata signing, reproducible builds, and community-driven forks that emphasize security maintenance. As AI and automation increase in software development, so too must proactive threat detection become embedded into build systems and development environments.

References:

Reported By: www.bleepingcomputer.com
Extra Source Hub:
https://www.facebook.com
Wikipedia
Undercode AI

Image Source:

Unsplash
Undercode AI DI v2

Join Our Cyber World:

💬 Whatsapp | 💬 Telegram