Joachim Viide
@jviide.iki.fi
250 followers 26 following 81 posts
https://jviide.iki.fi • A cruel and incompetent charlatan.
Posts Media Videos Starter Packs
jviide.iki.fi
Also doubles as a visualization of how Preact Signals work!
carlquintanilla.bsky.social
NVIDIA and OpenAi:

Concerns that their “increasingly complex and interconnected web of business transactions is artificially propping up the trillion-dollar AI boom.“

@bloomberg.com $NVDA 👀
www.bloomberg.com/news/feature...
Reposted by Joachim Viide
filippo.abyssdomain.expert
I am doing a survey of supply chain attacks, and it's annoying how 95% of the analysis is on payloads vs. compromise vectors.

Yes, you are a very smart reverser and that's a very clever payload. Yes, rolling out phishing-resistant auth is a slog. No, this is not how we make progress.

</rant>
jviide.iki.fi
"Nobody saw this coming," said the person who actively refused to see it coming.
jviide.iki.fi
...or set up Trusted Publishing and delete all your NPM tokens 🙂

bsky.app/profile/sxzz...
sxzz.dev
Kevin Deng @sxzz.dev · Aug 15
We encourage everyone to migrate from using npm publish tokens to trusted publisher!

github.com/e18e/ecosyst...
jviide.iki.fi
Pay special attention to "Automation" and "Publish" token types, as they aren't scoped and allow writes. They also never expire.

"Granular" ones are trickier. They MAY be read-only or tightly scoped. It's hard to tell, as the token page doesn't show this info. Their lifetimes can also be very long.
The npmjs.com Access Token page showing one granular token that expires in the year 123456.
jviide.iki.fi
This was a very good read. It's also a good reminder to check our own NPM access token pages and maybe delete old lingering tokens.
The npmjs.com Access Token page. The user dropdown menu is open, with the "Access Tokens" link highlighted.
jviide.iki.fi
The year is 2225. Third Quarter of the Fiscal.

Once more, Coders assemble to present The NPM with their finest work. They celebrate as The NPM flags it all as malware.

No one knows who built The NPM, or why the Takedowning must be observed.

Yet all agree: to neglect it would invite disaster.
jviide.iki.fi
pnpm v10.16.0 adds "minimumReleaseAge", a setting for defining how long a version has to have been published before pnpm will install it.

A nice countermeasure against accidental installs of short-lived compromised packages before they get taken down. Not a 100% fix, but a great additional step!
Release pnpm 10.16 · pnpm/pnpm
Minor Changes There have been several incidents recently where popular packages were successfully attacked. To reduce the risk of installing a compromised version, we are introducing a new settin...
github.com
Reposted by Joachim Viide
pixelatedboat.bsky.social
Thank god AI has finally solved the problem of there not being enough podcasts
jviide.iki.fi
FWIW, reported this to them via HackerOne yesterday. Got a prompt response back that this is a known low risk issue and that they don't consider this to present a significant security risk.
jviide.iki.fi
Seems that NPM too allows TOTP reuse within the time-step window. Seen a similar issue in multiple services over the years.

Per RFC 6238, a TOTP (Time-based One-Time Password) should be single-use. Allowing reuse, even within the short-ish time window, is not ideal (shoulder surfing, phishing etc.)
jviide.iki.fi
NPM supports switching from Authenticator App (TOTP) based 2FA to more phishing resistant WebAuthn based 2FA.

Adding a WebAuthn security key and disabling the Authenticator App is a pretty quick process.

For example Apple Touch ID & Windows Hello work! Physical keys work too, but aren't required.
jviide.iki.fi
Malicious versions of the nx package + some packages under the @nx/* scope were published to npm.

The compromised versions scan the file system, search for credentials, and post them publicly to GitHub.

www.aikido.dev/blog/popular...
Popular nx packages compromised on npm
The popular nx package on npm was compromised, and stolen data was published on GitHub publicly
www.aikido.dev
jviide.iki.fi
Every line of code is a liability, and now with the power of AI, I can create 8000 new liabilities per day!
jviide.iki.fi
1. make it work
2. [object Object]
3. make it fas
jviide.iki.fi
Update one @types/* package, introduce 80 new indirect dependencies + 16 new maintainers into our supply chain.
The "Tonnin Seteli" meme. A man staring into the void with a blank expression.
Reposted by Joachim Viide
filippo.abyssdomain.expert
I edited my Cross-Site Request Forgery countermeasures research into a stand-alone article, including recommendations reusable by other projects.

tl;dr: no need for tokens or keys, modern browsers tell you if a request is cross-origin!

words.filippo.io/csrf
Cross-Site Request Forgery
Cross-Site Request Forgery countermeasures can be greatly simplified using request metadata provided by modern browsers.
words.filippo.io
Reposted by Joachim Viide
Reposted by Joachim Viide
pierremortel.bsky.social
How to prevent a bunch of bullshit
Reposted by Joachim Viide
aplante.com
tell me about it, tiny aloe plant on the counter at the cafe near my house
a tiny aloe plant with a post it note that says LEAVE ME ALONE! TRYING TO LIVE >:(