Investigations by GitHub Security Lab and npm documented two significant open source supply-chain compromises in which attackers poisoned trusted developer workflows and downstream software artifacts. GitHub traced the Octopus Scanner malware to infected NetBeans projects that altered nbproject/build-impl.xml, dropped a malicious cache.dat, and spread by backdooring both build outputs and existing JAR dependencies, allowing cloned repositories and compiled artifacts to carry the infection forward. GitHub identified 26 open source repositories serving infected code and observed variants that added persistence on Linux and Windows and, in some cases, deployed a remote-access trojan through command-and-control infrastructure.
npm separately disclosed that the widely used event-stream package was compromised after a social-engineering takeover of package maintainership introduced the malicious dependency flatmap-stream@0.1.1 into event-stream@3.3.6. The payload was designed to tamper with Copay release builds, decrypt hidden JavaScript in memory, and steal wallet data and private keys from high-value cryptocurrency accounts, with exfiltration sent to 111.90.151.134. npm removed the malicious packages and seized control of event-stream, while Copay confirmed that versions 5.0.2 through 5.1.0 had shipped with the malicious code.

Trace attribution and downstream blast radius.
7 events from the most recent confirmed update back to the earliest known activity.
GitHub received a report from researcher JJ about GitHub-hosted repositories actively serving malware-infected open source projects. This triggered an investigation by GitHub's Security Incident Response Team into the malware later named Octopus Scanner.
npm's security team was notified that a malicious package had been introduced into the popular event-stream module. The malicious code was described as highly targeted at Copay developers and their release environment.
A new maintainer added flatmap-stream 0.1.1 as a direct dependency of event-stream version 3.3.6, marking the key supply-chain compromise step in the npm incident. npm described the broader intrusion as beginning with a social-engineering takeover of event-stream maintainership.
GitHub assessed that an earlier Octopus Scanner variant likely dated to 2018 infected local systems directly rather than modifying classes in built JAR files. That variant reportedly downloaded a RAT-like tool from ecc.freeddns.org and san.strangled.net.
During its investigation, GitHub found 26 open source projects that had been backdoored and were actively serving malicious code. GitHub also identified multiple malware variants, including one analyzed as version 3.2.01, and noted inactive command-and-control servers at the time of analysis.
Copay later confirmed that the malicious code had been deployed in versions 5.0.2 through 5.1.0, reversing its earlier statement that no public builds were affected. BitPay advised users not to run or open those Copay versions.
After triaging the malware, npm removed flatmap-stream and event-stream@3.3.6 from the registry and took ownership of the event-stream package to prevent further abuse. npm also advised users to audit dependencies and update away from the impacted version.
Vulnerabilities, threat actors, malware, products, organizations, breaches, and observables Mallory has linked to this story. Indicator values are masked here and available in full in the app.
Indicator values are masked on this page. View all 17 in Mallory Domains, IPs, hashes, and URLs are exportable to your SIEM.
See attribution and downstream blast radius, and whether this package or vendor reaches your builds.
2 references tracked. Mallory keeps watching after this page renders.
Map indicators from this story to your assets and identify affected systems in minutes.
Every observed campaign, victim, and pivot linked to actors named in this story.
Malware, exploits, and IOCs connected to the activity described here.
YARA, Sigma, and Snort rules deployed to your SIEM as soon as they’re published.
Get matching new stories delivered to your team as they break — not the next morning.
Ask questions about this story and take action on the answers.