Shim Security (@ShimSecurity) header
Shim Security (@ShimSecurity) profile picture

Make package install safe by default

~/.shim/bin
Joined June 2026
Photo by Shim Security (@ShimSecurity)
We wrote this in June. 7 weeks later, npm just proved it: 440+ packages compromised. Credentials stolen. IDEs backdoored. All from a single `npm install`. This isn't a hypothetical anymore. Here's what happened 👇
helloww, junior devs, listen up! npm packages are a minefield and nobody teaches you this stuff thread 🧵👇
1
1
3
166
This is exactly the blind spot we built Shim for. Anomalous preinstall scripts. Sudden publish spikes from a maintainer. Credential-scope changes. These are catchable signals — before install, not after your CI secrets are gone. We flag them early.
1
1
7
If your team is still finding out about attacks like this from a blog post after the fact, that's the gap we're closing. Link in bio to see how Shim catches this stuff in real time. getshim.app
1
7
Shim Security retweeted
Make npm install safe by default! Launching SHIM: getshim.app
6
9
193
-> lock your versions. npm i rewrites your lockfile silently. use npm ci instead - it respects exactly what's locked and fails if there's a mismatch. this alone has saved me from shipping broken builds at 2am.
1
1
16
and honestly? all of this is mental overhead that shouldn't exist. that's why we built getshim.app and it makes package install safe by default! don't be paranoid about `npm i` and just install shim! getshim.app
1
14
-> maintainer activity tells you more than stars ever will. stale repo with 3 open PRs from 2019? red flag. active discussions, recent commits, responsive issue triage; that's the green zone.
1
2
18
-> preinstall and postinstall scripts. these run arbitrary code on your machine the moment you hit install. literally open package.json and read them. if you don't understand what a script does, don't run it.
1
1
12
-> audit the dependency tree. don't just check the top-level package. run npm ls and do the same sniff test on its children. a sketchy transitive dep is still your sketchy dep.
1
1
13
helloww, junior devs, listen up! npm packages are a minefield and nobody teaches you this stuff thread 🧵👇
1
1
2
36
We learned the hard way. here's what we wish someone told me when we started: -> popularity isn't everything, but it's a signal. check weekly downloads. not millions? pause. also look at who else depends on it! if a major library you trust uses it, that's a decent sanity check.
1
2
18
Shim Security retweeted
28
281
16
2,924
76,447
Make npm install safe by default! Launching SHIM: getshim.app
6
9
193