Hackers Deploy Malicious npm Packages on GitHub to Steal SSH Keys

Two malicious npm packages were discovered on the npm open source package manager, which leverages GitHub to store stolen Base64-encrypted SSH keys obtained from developer systems that installed the malicious npm packages.

In recent weeks, two suspicious npm packages, namely warbeast2000 and kodiak2k, were discovered in multiple versions. As of writing, both the packages were removed from npm in January.

ReversingLabs stated that between 2020 and the end of 2023, the overall number of malicious packages discovered on open-source package managers increased by 1,300%.

A rising part of this trend is the hosting of malicious command and control infrastructure on the GitHub version control platform.

Document
Free Trial

Streaming Malware Service

Open Suspicious Files & Links in the ANY RUN Sandbox Safely; Try All Features for Free. Understand malware behavior, collect IOCs, and easily map malicious actions to TTPs — all in our interactive sandbox.

Malicious Packages Target Developer SSH keys

The warbeast2000 package, according to researchers, was made up of only a few components and was not particularly complex. Warbeast2000’s corresponding npm page was simple and did not openly imitate any other package.

“There were eight versions (1.0.0 – 1.0.8), with new elements being added to the package with each new version. The package author was in the process of building out the malware and adding layers of deception. Fortunately, the package was detected and removed from npm before that could happen”, ReversingLabs Shared with Cyber Security News.

After the victim’s machine was installed with the final version of the package, a postinstall script would be activated, retrieving and running a JavaScript file.

The malicious script, in its second stage, read the private SSH key that was kept in the id_rsa file, which was found in the <homedir>/.ssh directory.

The Base64-encoded key was then uploaded to a GitHub repository under the attacker’s control. The package did not exhibit any other actions other than obtaining and copying the id_rsa SSH key.

Malicious second stage from warbeast2000 private SSH key

Once the package is installed, kodiak2k executes a postinstall script. That script launches another JavaScript file that it has downloaded. Except for the first few, kodiak2k had over 30 versions, all of which were harmful, in contrast to warbeast2000.

Similar to warbeast2000, that script searches for a key called meow while reading everything in the <homedir>/.ssh directory.

It’s unclear if meow was just a placeholder name for the package throughout development or if the developer had a specific key in mind.

“When and if the meow file was located, the key contained in it would be encoded in Base64 and uploaded to a GitHub repository, as with the warbeast2000 package”, researchers said.

It was discovered that later iterations of kodiak2k ran a script in a GitHub repository that had been archived and contained the Empire post-exploitation framework. The script can dump credentials from process memory by launching the Mimikatz hacking tool.

In September 2023, Sonatype researchers tracked the npm registry campaign, extracting Kubernetes configurations and SSH keys via npm packages. Their automated system found about 14 malicious packages.

Hence, developers and development organizations should evaluate the security of software or libraries discovered on package managers such as npm or PyPI before incorporating them to make sure they are safe to use.

Gurubaran

Gurubaran is a co-founder of Cyber Security News and GBHackers On Security. He has 10+ years of experience as a Security Consultant, Editor, and Analyst in cybersecurity, technology, and communications.

Recent Posts

Apache Cassandra Vulnerability Allows Attackers to Gain Access Data Centers

In a recent security advisory, a moderate-severity vulnerability has been identified in Apache Cassandra, potentially…

13 hours ago

1- Click RCE Vulnerability in Voyager PHP Allow Attackers Execute Arbitrary Code

A recently disclosed security vulnerability in the Voyager PHP package, a popular tool for managing…

13 hours ago

Android Security Update Fixes Linux Kernel RCE Flaw Allow Read/Write Access

On February 3, 2025, Google published its February Android Security Bulletin, which addresses a total…

13 hours ago

ANY.RUN Enhances Malware Detection and Performance to Combat 2025 Cyber Threats

As cyber threats grow more sophisticated, ANY.RUN has unveiled a series of updates aimed at…

13 hours ago

SpyCloud Leads the Way in Comprehensive Identity Threat Protection

SpyCloud, a leading identity threat protection company, has unveiled key innovations in its portfolio, driving…

14 hours ago

Beware of SmartApeSG Campaigns that Deliver NetSupport RAT

SmartApeSG, a FakeUpdate cyber threat, has emerged as a significant vector for delivering NetSupport RAT,…

15 hours ago