Threat actors have started uploading malicious packages to PyPI, NPM, and RubyGems repositories in a new campaign aimed at stealing user information, software supply chain security firm Phylum reports.
The first malicious packages were uploaded to PyPI and NPM repositories over the weekend, specifically targeting macOS users.
The PyPI package that Phylum initially observed was designed to harvest information about the victim’s machine and exfiltrate it to an attacker-controlled server. The code would also publish subsequent versions with additional malicious payloads.
The malicious package, however, would only collect data if the victim’s machine was running macOS, the cybersecurity firm explains.
Similarly, the first NPM package that was published as part of the new campaign was designed to collect system and network data from macOS devices and to exfiltrate it to a remote server. The code would stop execution if not running on macOS.
The identified RubyGems package followed a similar pattern, collecting system data and sending it to a remote server, and targeting macOS systems only.
Phylum also says that all packages were observed communicating with the same IP address to send collected system information, and that multiple packages with similar versions were published across the PyPI, NPM, and RubyGems repositories, demonstrating a clear connection between them.
“The author of these packages is staging a broad campaign against software developers. The end goal of this campaign remains unclear,” Phylum notes.
The software supply chain security company has reported all identified packages to the respective ecosystems, and says PyPI has confirmed that all packages have been removed.
Identified roughly a week after Phylum reported an attack targeting Rust developers, which employed malicious packages in the Crates.io Rust registry, the new campaign is proof that malware in open source package registries is becoming increasingly prevalent.