Bret Comnes

@bret.io

bret.io @socket.dev @breadcrum.net

Today is a big day for @socket.dev. We raised a $60M Series C at a $1B valuation, led by Thrive Capital. 20,000+ orgs, 1.5M repos protected, 1,000+ supply chain attacks blocked per week. 3/5 FAANG companies are customers. We're just getting started.

Bild

🚨 node-ipc is compromised again. Three malicious versions (9.1.6, 9.2.3, 12.0.1) published via expired-domain account takeover. Payload steals credentials, SSH keys, cloud tokens, .env files and exfils over DNS. Socket flagged them as malware within 3 min. Details: socket.dev/blog/node-ip...

Popular node-ipc npm Package Infected with Credential Steale...

Socket detected malicious node-ipc versions with obfuscated stealer/backdoor behavior in a developing npm supply chain attack.

socket.dev

I tried this out again recently. It’s a cool feature but it requires EVERY dep to be exceeding well behaved and defined. It also relies on NODE_PATH and has weird issues with esm. Unfortunately something like this needs a runtime solution to work generally.

patak@patak.cat · 4mo ago

@pnpm.io's experimental global virtual store is brilliant. The install performance gains are a game-changer for git flows. You get near-zero per-worktree overhead and instant installs for new worktrees as packages are already in the global store. @kochan.io can't stop making pnpm better 🤌

pnpm's experimental global virtual store

Without the global virtual store, each worktree would have its own .pnpm virtual store inside node_modules, with hardlinks or copies of every package. With enableGlobalVirtualStore: true, pnpm keeps all package contents in a single shared directory (the global store, which you can find by running pnpm store path), and each worktree's node_modules contains symlinks pointing there:

your-monorepo/                      (bare git repo)
> main/                           (worktree: main branch)
>> packages/
>> node_modules/
>>> lodash → <global-store>/links/@/lodash/...
>>> express → <global-store>/links/@/express/...
> feature-auth/                   (worktree: feat/auth branch)
>> node_modules/
>>> lodash → <global-store>/links/@/lodash/...  ← same target
>>> express → <global-store>/links/@/express/...
> fix-api/                        (worktree: fix/api-error branch)
>> node_modules/
>>> lodash → <global-store>/links/@/lodash/...  ← same target
>>> express → <global-store>/links/@/express/...

Anyone publishing rel-alternate type-text/markdown link tags to their sites? `<link rel=”alternate” type=”text/markdown” href=”foo.md” />` Would enable discovery of a #markdown representation of the same content. /cc @bret.io

@pnpm.io's experimental global virtual store is brilliant. The install performance gains are a game-changer for git flows. You get near-zero per-worktree overhead and instant installs for new worktrees as packages are already in the global store. @kochan.io can't stop making pnpm better 🤌

pnpm's experimental global virtual store

Without the global virtual store, each worktree would have its own .pnpm virtual store inside node_modules, with hardlinks or copies of every package. With enableGlobalVirtualStore: true, pnpm keeps all package contents in a single shared directory (the global store, which you can find by running pnpm store path), and each worktree's node_modules contains symlinks pointing there:

your-monorepo/                      (bare git repo)
> main/                           (worktree: main branch)
>> packages/
>> node_modules/
>>> lodash → <global-store>/links/@/lodash/...
>>> express → <global-store>/links/@/express/...
> feature-auth/                   (worktree: feat/auth branch)
>> node_modules/
>>> lodash → <global-store>/links/@/lodash/...  ← same target
>>> express → <global-store>/links/@/express/...
> fix-api/                        (worktree: fix/api-error branch)
>> node_modules/
>>> lodash → <global-store>/links/@/lodash/...  ← same target
>>> express → <global-store>/links/@/express/...

Axios maintainer confirms the npm compromise was caused by a targeted social engineering attack that led to full access to his GitHub and npm accounts. Open source maintainers continue to be high-value targets in supply chain attacks. socket.dev/blog/axios-m...

Axios Maintainer Confirms Social Engineering Attack Behind n...

Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

socket.dev

If it’s anything like what they attempted with me then a new modus operandi is to create social credibility and even group pressure, then have a planned video call on a faked version of a real streaming service, then show credible errors and urge to download a native app. This is what I got:

Bild
Socket@socket.dev · 4mo ago

Axios maintainer confirms the npm compromise was caused by a targeted social engineering attack that led to full access to his GitHub and npm accounts. Open source maintainers continue to be high-value targets in supply chain attacks. socket.dev/blog/axios-m...

We’re system architects at core. We built a decentralized network so you could run your own moderation, but beyond that our upcoming healthy discourse project is taking some swings at the interaction model that drives these dynamics on Bluesky. Excited to start seeing it in action.

Maintainer compromises used to be rare. Now they’re happening at an alarming rate, as seen in recent attacks. Today we’re giving developers a new layer of defense with Socket Firewall, a free tool that blocks malicious dependencies at install time.

Bild

🚨 Open source supply chain attacks are exploding. Starting today, that ends. We’re releasing Socket Firewall — FREE, zero-config, CLI that blocks malware before it lands on your laptop or CI. Just run: npm i -g sfw sfw npm install lodash Works for: npm, yarn, pnpm, pip, uv, and cargo.

Bild

Anyone know a good leader election library that either uses pg or redis on the backed? Basically, in a horizontally deployed service, I need one instance to do something unique, and something else to take over when it disappears.