Readit News logoReadit News
VPenkov commented on Shai-Hulud compromised a dev machine and raided GitHub org access: a post-mortem   trigger.dev/blog/shai-hul... · Posted by u/nkko
VPenkov · 19 hours ago
> you have no appetite for a better security model

For what it's worth, there are some advancements. PNPM - the packager used in this case - doesn't automatically run postinstall scripts. In this case, either the engineer allowed it explicitly, or a transitive dependency was previously considered safe, and allowed by default, but stopped being safe.

PNPM also lets you specify a minimum package age, so you cannot install packages younger than X. The combination of these would stop most attacks, but becomes less effective if everyone specifies a minimum package age, so no one would fall victim.

It's a bit grotesque because the system relies on either the package author noticing on time, or someone falling victim and reporting it.

NPM now supports publishing signed packages, and PNPM has a trustPolicy flag. This is a step in a good direction, but is still not enough, because it relies on publishers to know and care about signing packages, and it relies on consumers to require it.

There _is_ appetite for a better security model, but a lot of old, ubiquitous packages, are unmaintained and won't adopt it. The ecosystem is evolving, but very slowly, and breaking changes seem needed.

VPenkov · 11 hours ago
I had the chance to finish reading and it looks like Trigger were using an older version of PNPM which didn't do any of the above, and have since implemented everything I've mentioned in my post, plus some additional Git security.

So a slight amendment there on the human error side of things.

VPenkov commented on Shai-Hulud compromised a dev machine and raided GitHub org access: a post-mortem   trigger.dev/blog/shai-hul... · Posted by u/nkko
voidnap · 20 hours ago
It isn't victim blaming. People like you make it impossible to avoid attacks like these because you have no appetite for a better security model.

I run npm under bubblewrap because npm has a culture of high risk; of using too many dependencies from untrusted authors. But being scrupulous and responsible is a cost I pay with my time and attention. But it is important because if I run some untrusted code and am compromised it can affect others.

But that is challenging when every time some exploit rolls around people, like you, brush it off as "unlucky". As if to say it's inavoidable. That nobody can be expected to be responsible for the libraries they use because that is too hard or whatever. You simply lack the appetite for good hygene and it makes it harder for the minority of us who care about how our actions affect others.

VPenkov · 19 hours ago
> you have no appetite for a better security model

For what it's worth, there are some advancements. PNPM - the packager used in this case - doesn't automatically run postinstall scripts. In this case, either the engineer allowed it explicitly, or a transitive dependency was previously considered safe, and allowed by default, but stopped being safe.

PNPM also lets you specify a minimum package age, so you cannot install packages younger than X. The combination of these would stop most attacks, but becomes less effective if everyone specifies a minimum package age, so no one would fall victim.

It's a bit grotesque because the system relies on either the package author noticing on time, or someone falling victim and reporting it.

NPM now supports publishing signed packages, and PNPM has a trustPolicy flag. This is a step in a good direction, but is still not enough, because it relies on publishers to know and care about signing packages, and it relies on consumers to require it.

There _is_ appetite for a better security model, but a lot of old, ubiquitous packages, are unmaintained and won't adopt it. The ecosystem is evolving, but very slowly, and breaking changes seem needed.

VPenkov commented on Tags to make HTML work like you expect   blog.jim-nielsen.com/2025... · Posted by u/FromTheArchives
evilduck · 2 months ago
It's impossible to look at a Stimulus based site (or any similar SSR/hypermedia app) and learn anything useful beyond superficial web design from them because all of the meaningful work is being done on the other side of the network calls. Seeing a "data-action" or a "hx-swap" in the author's original text doesn't really help anyone learn anything without server code in hand. That basically means the point is moot because if it's an internal team member or open source wanting to learn from it, the original source vs. minified source would also be available.

It's also more complex to do JS builds in Ruby when Ruby isn't up to the task of doing builds performantly and the only good option is calling out to other binaries. That can also be viewed from the outside as "we painted ourselves into a corner, and now we will discuss the virtues of standing in corners". Compared to Bun, this feels like a dated perspective.

DHH has had a lot of opinions, he's not wrong on many things but he's also not universally right for all scenarios either and the world moved past him back in like 2010.

VPenkov · 2 months ago
Well you do learn that a no-build process can work at some scale, and you can see what tech stack is used and roughly how it works.

But regardless, I didn't mean to make any argument for or against this, I'm saying this was one of the points DHH made at some point.

VPenkov commented on Tags to make HTML work like you expect   blog.jim-nielsen.com/2025... · Posted by u/FromTheArchives
ilaksh · 2 months ago
Anyone else prefer to use web components without bundling?

I probably should not admit this, but I have been using Lit Elements with raw JavaScript code. Because I stopped using autocomplete awhile ago.

I guess not using TypeScript at this point is basically the equivalent for many people these days of saying that I use punch cards.

VPenkov · 2 months ago
37 Signals [0] famously uses their own Stimulus [1] framework on most of their products. Their CEO is a proponent of the whole no-build approach because of the additional complexity it adds, and because it makes it difficult for people to pop your code and learn from it.

[0]: https://basecamp.com/ [1]: https://stimulus.hotwired.dev/

VPenkov commented on Show HN: Helium Browser for Android with extensions support, based on Vanadium   github.com/jqssun/android... · Posted by u/jqssun
sphars · 2 months ago
Ah thought I saw a Helium browser mentioned recently on HN[0] and thought this was the same thing. So this is not the same as this Helium browser [1]?

[0]: https://news.ycombinator.com/item?id=45366867

[1]: https://helium.computer/

VPenkov · 2 months ago
The repository introduces it as indeed based on Helium [0].

The cool part about Helium is that it's based on patches, rather than forking the full source code. I don't know how sustainable this is in the long term, but it's an interesting approach for sure.

[0]: https://helium.computer/

VPenkov commented on Tinnitus Neuromodulator   mynoise.net/NoiseMachines... · Posted by u/gjvc
Arch-TK · 2 months ago
I've had a low grade (although who knows, it's not like I can hear someone else's tinnitus to compare) tinnitus for as long as I remember. For my childhood I thought it was just normal to hear this noise when there was no external source of other sound.

Honestly, I never felt particularly negative about it.

I guess if you never know what true silence sounds like, you never know what you are missing.

VPenkov · 2 months ago
Same here. A few years ago I thought maybe the ringing isn't normal. It hadn't occurred to me before that.

I found a YouTube video of a "tinnitus demo" with the right sound and frequency. I could only start hearing it at about 80% volume. I gave my headphones to my partner and she said it was unbearable. I guess I'm used to my normal.

I slightly regret knowing about it, I seem to be paying more attention to it now.

VPenkov commented on Show HN: Autism Simulator   autism-simulator.vercel.a... · Posted by u/joshcsimmons
barrenko · 2 months ago
This may be incredibly offensive, but how big could a potential overlap be between ADHD and autism?
VPenkov · 2 months ago
One is impulsive, the other requires structure. The two are not mutually exclusive though, because both conditions are pretty diverse. AuDHD is a term used to describe people with both.
VPenkov commented on Shai-Hulud malware attack: Tinycolor and over 40 NPM packages compromised   socket.dev/blog/ongoing-s... · Posted by u/jamesberthoty
theodorejb · 3 months ago
Yes it does, since the ignore-scripts option is not enabled by default.
VPenkov · 3 months ago
Yes it does, you're correct and I have misread. I can't edit, delete, or flag my initial reply unfortunately.
VPenkov commented on Shai-Hulud malware attack: Tinycolor and over 40 NPM packages compromised   socket.dev/blog/ongoing-s... · Posted by u/jamesberthoty
theodorejb · 3 months ago
It's crazy to me that npm still executes postinstall scripts by default for all dependencies. Other package managers (Pnpm, Bun) do not run them for dependencies unless they are added to a specific allow-list. Composer never runs lifecycle scripts for dependencies.

This matters because dependencies are often installed in a build or development environment with access to things that are not available when the package is actually imported in a browser or other production environment.

VPenkov · 3 months ago
VPenkov commented on Performance-focused forks of styled-components   sanity.io/blog/cut-styled... · Posted by u/isaiahwp
lloydatkinson · 3 months ago
I normally refrain from commenting on anything regarding CSS, styling, and design systems as I feel that HN in particular has disingenuous debates on it.

Rather than using a fork, you could completely remove the “style sheets at runtime” part by using a CSS in TypeScript tool which builds everything and produces plain CSS files and CSS variables.

There are at least four main benefit:

- Can enforce design tokens (colours, spacing, whatever) with type safety

- The previous point helps enforce and encourage design consistency; I have lost count of the amount of times I’ve seen lazy “just append some more unmaintainable mess” at the bottom of CSS files

- CSS is built at build time which is what you are already familiar with if you’ve used a CSS preprocessor before

- Smaller file sizes sent to the users browser

Oh and one final thing: vanilla-extract is not just for React, its standalone meaning you can use it even with something entirely server side if you wished.

VPenkov · 3 months ago
I'm really not a fan of CSS in JS, however it does have it's use-cases. Class mangling is very convenient with it and allows you to be prescriptive about how you're doing theming support, which is great when building libraries that 3rd parties embed on their websites.

The trade-off is that of course your customers can't style things you haven't anticipated, but it means you can control what changes are breaking.

And you can always add an extra variable in a new version if a customer wants to change a border color.

u/VPenkov

KarmaCake day169January 4, 2018View Original