dark reading threat intel and cybersecurity news

A routine scan of the NPMĀ open source code repository in April turned up several packages using a JavaScript obfuscator to hide their true function.Ā 

After further investigation, analysts withĀ ReversingLabs reported they have uncovered a campaign dating back at leastĀ six months that used more than two dozen malicious NPM modules to steal data from sites and applications. All together,Ā the team found that 27,000 instances of the malicious NPM packages had been downloaded.Ā 

“While the full extent of this attack isnā€™t yet known, the malicious packages we discovered are likely used by hundreds, if not thousands, of downstream mobile and desktop applications as well as websites,”Ā the ThreatLabs researchers explained in a blog post. “In one case, a malicious package had been downloaded more than 17,000 times.”

Attack Relies on Typo-SquattingĀ 

The attack relies on so-called typo-squatting, where threat actors disguise malicious code packages with names very close to legitimate ones, including subtle naming variations and common misspellings, the researchers said.Ā 

For instance, one of the malicious packages lurking in the NPM repository is named “umbrellaks,” an attempt to hijack developers looking for the popular document object model (DOM) framework “umbrellajs,” the ReversingLabs team added.Ā 

What makes this supply chain reminiscent of theĀ SolarWindsĀ attack, the analysts pointed out, is the fact that the target isn’t the developer inadvertently using the malicious code but, rather, the target site or application further down the software supply chain.

“This attack marks a significant escalation in software supply-chain attacks,” according toĀ the ReversingLabs malicious NPMĀ report. “Malicious code bundled within the NPM modules is running within an unknown number of mobile and desktop applications and web pages, harvesting untold amounts of user data.”

Most of the malicious open source modules are stillĀ are still available, despite the analysts reporting their findings to NPM on July 1, they added. The report contains a list of affected packages.