Post Mortem: axios NPM supply chain compromise

Kyro38 71 points 40 comments April 03, 2026
github.com · View on Hacker News

Discussion Highlights (9 comments)

uticus

> March 31, around 01:00 UTC: community members file issues reporting the compromise. The attacker deletes them using the compromised account. Interesting it got caught when it did.

fraywing

Incredible uptick in supply chain attacks over the last few weeks. I feel like npm specifically needs to up their game on SA of malicious code embedded in public projects.

charcircuit

Does OIDC flow block this same issue of being able to use a RAT to publish a malicious package?

akersten

Any good payload analysis been published yet? Really curious if this was just a one and done info stealer or if it potentially could have clawed its way deeper into affected systems.

Zopieux

Not much we didn't know (you're basically SOL since an owner was compromised), however we now have a small peek into the actual meat of the social engineering, which is the only interesting news imho: https://github.com/axios/axios/issues/10636#issuecomment-418...

robshippr

The interesting detail from this thread is that every legitimate v1 release had OIDC provenance attestations and the malicious one didn't, but nobody checks. Even simpler, if you're diffing your lockfile between deploys, a brand new dependency appearing in a patch release is a pretty obvious red flag.

lrvick

I ask this on every supply chain security fail: Can we please mandate signing packages? Or at least commits? NPM rejected PRs to support optional signing multiple times more than a decade ago now, and this choice has not aged well. Anyone that cannot take 5 minutes to set up commit signing with a $40 usb smartcard to prevent impersonation has absolutely no business writing widely depended upon FOSS software. Normalized negligence is still negligence.

anematode

Looks like a very sophisticated operation, and I feel for the maintainer who had his machine compromised. The next incarnation of this, I worry, is that the malware hibernates somehow (e.g., if (Date.now() < 1776188434046) { exit(); } ) to maximize the damage.

nurettin

I never understood why all the CAS tutorials pushed axios. This was before vite and build-scripts was how you did react. After the compromise I reviewed some projects and converted them to pure JS fetch and vite.

Semantic search powered by Rivestack pgvector
3,663 stories · 34,065 chunks indexed