
Feross
28.5K posts

Feross
@feross
⚡️ Founder + CEO @SocketSecurity (https://t.co/7g1opA7Tr8) • 🌲 Visiting lecturer @Stanford (https://t.co/yw9prxLiLe) • ❤️ Open source @WebTorrentApp + @StandardJS



The latest npm security incident has a slightly different shape but would still have been mitigated by what I suggested back in January. humanwhocodes.com/blog/2026/01/h…

🚨 Socket detected malicious activity in newly published versions of node-ipc, an npm package with 822K weekly downloads. Affected versions: node-ipc@9.1.6 node-ipc@9.2.3 node-ipc@12.0.1 Socket’s AI scanner flagged the malware within ~3 minutes of publication. Early analysis shows obfuscated stealer/backdoor behavior, including host fingerprinting, local file enumeration, payload wrapping, and attempted exfiltration.








I read this on a GitHub comment on the tanstack repo: > Right now, it feels like provenance answers “where the package came from”, but not necessarily “is install-time behavior trustworthy?”. Yes. That has always been the case.

🪱 preinstall. postinstall. payload. Would your detections catch it? With npm supply-chain attacks continuing to evolve, I wanted a safe way to emulate the behaviors attackers actually use, from workflow injection to staged payload downloads and token theft. That’s why I built: 🧪 github.com/MHaggis/NPM-Th… A lightweight toolkit for safely testing: • malicious npm install behavior • postinstall/preinstall execution • workflow tampering • staged downloads & mock exfiltration • EDR/SIEM/CI visibility I also wrote Splunk detections covering npm supply-chain compromise behaviors: 📖 research.splunk.com/stories/npm_su… These attacks aren’t going away, but defenders can absolutely get ahead of them. ⚔️


🚨 UPDATE: Mini Shai-Hulud has crossed from @npmjs into @pypi and is still spreading. Newly confirmed compromised artifacts: @opensearch-project/opensearch: 3.5.3, 3.6.2, 3.7.0, 3.8.0 (1.3M weekly downloads) mistralai: 2.4.6 on PyPI guardrails-ai: 0.10.1 on PyPI additional @squawk/* packages on npm guardrails-ai 0.10.1 executes malicious code on import. On Linux, it downloads git-tanstack[.]com/transformers.pyz, writes it to /tmp/transformers.pyz, and runs it with python3 without integrity verification. The git-tanstack.com domain displayed a message signed “With Love TeamPCP,” along with: “We've been online over 2 hours now stealing creds Regardless I just came to say hello :^)” The page also linked to a YouTube video and you can probably guess which one.

🤨 People keep asking how to protect yourself. #1: set min-release-age=7 in .npmrc #2: install Socket for GitHub (it's free!) to protect PRs from bad dependencies: socket.dev/features/github #3: install Socket Firewall (also free!) to protect your laptop: socket.dev/features/firew…


"Hardening TanStack After the npm Compromise", a followup to yesterday's post-mortem. tanstack.com/blog/incident-…

🚨 UPDATE: Mini Shai-Hulud has crossed from @npmjs into @pypi and is still spreading. Newly confirmed compromised artifacts: @opensearch-project/opensearch: 3.5.3, 3.6.2, 3.7.0, 3.8.0 (1.3M weekly downloads) mistralai: 2.4.6 on PyPI guardrails-ai: 0.10.1 on PyPI additional @squawk/* packages on npm guardrails-ai 0.10.1 executes malicious code on import. On Linux, it downloads git-tanstack[.]com/transformers.pyz, writes it to /tmp/transformers.pyz, and runs it with python3 without integrity verification. The git-tanstack.com domain displayed a message signed “With Love TeamPCP,” along with: “We've been online over 2 hours now stealing creds Regardless I just came to say hello :^)” The page also linked to a YouTube video and you can probably guess which one.


