<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Happyberg Engineering</title><description>Long-form analyses of supply-chain attacks, infrastructure, and the defenses that hold. By the engineers at Happyberg Labs.</description><link>https://happyberg.com/</link><language>en-us</language><item><title>TanStack and the provenance gap</title><link>https://happyberg.com/blog/tanstack-mini-shai-hulud/</link><guid isPermaLink="true">https://happyberg.com/blog/tanstack-mini-shai-hulud/</guid><description>On May 11, 2026, malicious npm artifacts were signed by TanStack&apos;s legitimate OIDC pipeline. Sigstore verified them. Provenance-only checks would have accepted them. Release-age cooldowns cover a different failure mode.</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate><category>supply-chain</category><category>npm</category><category>shai-hulud</category><category>tanstack</category><category>provenance</category><category>release-age</category></item><item><title>Bitwarden CLI was malicious on npm for 93 minutes</title><link>https://happyberg.com/blog/bitwarden-cli-93-minutes/</link><guid isPermaLink="true">https://happyberg.com/blog/bitwarden-cli-93-minutes/</guid><description>Between 5:57 and 7:30 PM ET on April 22, 2026, the npm tarball for @bitwarden/cli@2026.4.0 was a credential harvester. Bitwarden contained it inside two hours. Any fresh install during that window should be treated as exposed.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate><category>supply-chain</category><category>npm</category><category>bitwarden</category><category>checkmarx-campaign</category><category>credential-harvester</category></item><item><title>pgserve: the npm worm that jumped to PyPI</title><link>https://happyberg.com/blog/pgserve-cross-registry-worm/</link><guid isPermaLink="true">https://happyberg.com/blog/pgserve-cross-registry-worm/</guid><description>On April 21, 2026, a self-propagating worm landed on npm as pgserve and then pushed malicious packages to PyPI. One install in one ecosystem became publish access in another.</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate><category>supply-chain</category><category>npm</category><category>pypi</category><category>pgserve</category><category>worm</category><category>cross-registry</category></item><item><title>The Asurion impersonation campaign: eight days, four fake packages, and a Slack webhook</title><link>https://happyberg.com/blog/asurion-impersonation-campaign/</link><guid isPermaLink="true">https://happyberg.com/blog/asurion-impersonation-campaign/</guid><description>Between April 1 and April 8, 2026, a campaign pushed four npm packages impersonating Asurion and its subsidiaries. The packages later turned into credential harvesters. The patient part is the lesson.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><category>supply-chain</category><category>npm</category><category>asurion</category><category>typosquat</category><category>impersonation</category><category>credential-harvester</category></item><item><title>Three hours on npm: how the Axios compromise played out</title><link>https://happyberg.com/blog/axios-3-hours-on-npm/</link><guid isPermaLink="true">https://happyberg.com/blog/axios-3-hours-on-npm/</guid><description>On March 31, 2026, axios@1.14.1 shipped with a cross-platform RAT injected through a hijacked maintainer account. The malicious version was live for roughly three hours before npm pulled it. axios is in around 100 million installs per week. Three hours was enough.</description><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><category>supply-chain</category><category>npm</category><category>axios</category><category>rat</category><category>maintainer-compromise</category></item><item><title>Shai-Hulud 2.0: the worm came back, faster, and it has Zapier</title><link>https://happyberg.com/blog/shai-hulud-2-zapier-posthog-postman/</link><guid isPermaLink="true">https://happyberg.com/blog/shai-hulud-2-zapier-posthog-postman/</guid><description>Three months after the original Shai-Hulud npm worm, a new wave hit in November 2025. It runs earlier in the install lifecycle, harvests more credentials, and produced over 25,000 malicious GitHub repositories. Zapier, PostHog, and Postman were among the named victims.</description><pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate><category>supply-chain</category><category>npm</category><category>shai-hulud</category><category>credentials</category><category>worm</category><category>zapier</category><category>posthog</category><category>postman</category></item><item><title>Shai-Hulud: the npm worm that copies itself into your other packages</title><link>https://happyberg.com/blog/shai-hulud-the-self-replicating-npm-worm/</link><guid isPermaLink="true">https://happyberg.com/blog/shai-hulud-the-self-replicating-npm-worm/</guid><description>On September 15, 2025, a self-replicating worm appeared on npm. It stole credentials, used them to publish more malicious packages, and named its exfiltration repos after the sandworms from Dune.</description><pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate><category>supply-chain</category><category>npm</category><category>shai-hulud</category><category>credentials</category><category>worm</category></item></channel></rss>