Security1 distinct publisher3 min readUpdated
Attackers moved upstream into the project's own repositories and release workflows, so the attestations checked out. Publisher reputation no longer tells you a build is clean.
The Watch · Security desk
Compiled by The WatchSomething wrong?How this is made
Researchers at Upwind found that attackers injected malware directly into the AsyncAPI project's source repositories before the packages were published to the npm registry [1]. The compromised packages then moved through official publishing channels and looked legitimate to developers, who risked pulling malicious code into their workstations and CI/CD environments simply by importing them [2].
That is a different failure mode from the one most dependency controls are built for. Dan Moore Sr. of FusionAuth, quoted in a ReversingLabs write-up of the incident [0], said the usual package attack is simple tampering: steal an npm token, push a doctored tarball to the registry [5]. AsyncAPI ran in reverse. According to Moore, the attacker exploited a misconfiguration to ship code under the identity of the project's release bot, which let the pipeline build, sign, and publish it [6]. Amiram Shachar, CEO and co-founder of Upwind, told Cybersecurity Dive that multiple official AsyncAPI packages were published with backdoored code from separate repositories and pipelines [3]. "This wasn't just a malicious package. It was a compromise of trust," Shachar said [4].
The consequence is the part worth internalising. The infected packages shipped with valid provenance attestations [7]. Michael Nov, co-founder and CEO of Prime Security, said the attacker used AsyncAPI's own trusted publishing workflows, so the verification machinery the industry tells everyone to adopt ended up vouching for the malware [8]. "Provenance told the truth," Nov said. "These artifacts really were built by the official pipeline from the official repo. The truth was malicious" [9]. The payload also executed on module load rather than through an install hook [10], which Nov said implied operational planning well above the opportunistic typosquatting most people picture when they hear "npm attack" [11]. Moore's summary: check the attestation and watch the install scripts, and you catch neither half of this [12].
The campaign was also broad in a way that suggests the attacker understood how repositories are defended. Dwayne McDaniel, a developer advocate at GitGuardian, called it the widest attack path of any recent worm he has tracked [13], noting "there were so many branches and pipelines used at once" [14]. Pushing to multiple branches was deliberate evasion, he said, because protections cluster around main and production branches, leaving infected side branches easier to hide in until later legitimate commits [15]. Payloads were staged across multiple destinations, Moore added, including an Ethereum dead drop that is effectively impossible to take down [16].
Donald McFarlane, an advisory board member at Xcape, said the industry's work on proving where an artifact came from is necessary but, on the evidence here, not sufficient [17]; what is missing are controls that assess what actually changed, whether the change was authorized, and what the resulting software does [18]. Organisations that do not enforce a cool-down period on newly released packages need strong change and release management controls around open-source dependencies in CI/CD, including careful auditing and analysis [19], plus a rehearsed remediation path for the moment a malicious package lands in development or production [20].
What to watch is whether release identity gets the same budget as scanning. Kelvin Lim, Asia-Pacific head of security engineering at Black Duck Software, said most security teams he speaks with have software composition analysis, dependency scanning, and SBOMs well covered [21], but far fewer have equivalent visibility into the identities, permissions, and workflows that actually publish their software [22]. Until they do, an attestation confirms only that your attacker had commit access.
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
Researchers at Upwind found that attackers injected malware directly into the AsyncAPI project's source repositories before the packages were published to the npm registry.
Amiram Shachar, CEO and co-founder of Upwind, told Cybersecurity Dive that multiple official AsyncAPI packages were published with backdoored code from separate repositories and pipelines, a sign that attackers are increasingly targeting the release process itself.
Shachar said: "This wasn't just a malicious package. It was a compromise of trust."
The practitioner commentary on the AsyncAPI compromise was collected in a blog post published by ReversingLabs, a vendor that sells software supply chain security tooling (Spectra Assure).
The compromised packages moved through official publishing channels and so looked legitimate to developers, who were at risk of pulling malicious code into their workstations and CI/CD environments simply by importing the packages.
Dan Moore Sr., director of customer identity and access management strategy at FusionAuth, said most package attacks are simple tampering: someone steals an npm token and pushes a doctored tarball straight to the registry.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Single vendor blog relaying secondhand research
All claims trace to one publisher, which itself relays Upwind's findings and a Cybersecurity Dive interview rather than primary artifacts. Attribution is specific and named throughout, and the core mechanics (repo-level injection, release-bot identity abuse, valid attestations, module-load execution) are stated consistently by several independent practitioners - but there is no linked AsyncAPI advisory, no package versions, no indicators, and no independent corroboration in the cluster.
One in-the-wild incident, scope unquantified
There is a concrete real-world event rather than a proposal: malicious releases actually traversed the official publishing path into the npm registry, and the source says importing them exposed workstations and CI/CD environments. But nothing quantifies uptake or impact - no affected versions, download counts, confirmed victims, or remediation status - and the recommended countermeasures (pipeline identity governance, cool-down periods) are described as largely unadopted rather than deployed.
Framing outruns the single-source record
The technical spine is plausible and consistently attributed, so this is not fabrication. The overshoot is in generalization: sweeping conclusions that software delivery 'cannot depend on trust' and that publisher reputation no longer indicates a clean build are drawn from one unquantified incident reported at second hand, with superlatives such as 'the widest attack path of any recent worm' left unevidenced and no counterweight noting what provenance and trusted publishing did accomplish.
Vendor-hosted roundup of vendor executives
The host publisher sells software supply chain security tooling and wraps the piece in a Spectra Assure free-trial call to action plus a community sign-up prompt. Every quoted voice is an executive, advisor, or advocate at a company selling adjacent product - cloud runtime security, secrets detection, identity, AppSec/SCA, and database change management - and each recommendation maps to a category its speaker monetizes. No independent researcher, maintainer, or unaffiliated party is quoted, and no conflicts are disclosed.
Low-moderate: consistent but uncorroborated
Internal consistency is good - seven named practitioners describe the same attack shape, and the mechanics are technically coherent - which supports moderate confidence in the broad outline. Confidence is held down by a single publisher with a direct commercial interest, no primary sources, one detail rated insufficient, and total absence of the specifics (versions, indicators, timeline) that would let a reader verify anything independently.
science
LiteLLM's 40 minutes on PyPI: 153GB of loot, 2,488 named orgs, and the victims nobody can name1 distinct publisher
build
The npm audit that works because it never installs the package1 distinct publisher
build
Claude Code's new default is a confession: the approval prompt was never a control1 distinct publisher
product
Cloudsmith's cooldown policies make delay a control, and that makes it your decision1 distinct publisher
Distinct publishers with included, body-backed reporting in this cluster.
1 article · August 19, 2026