Live data from Hacker News

Dependabot version updates introduce default package cooldown

github.blog

41–50 of 154 posts

Re: Dependabot version updates introduce default package cooldown

#41

Earlier quoted context omitted.

Most of the malicious ones just curl something in a postinstall script, scanners already catch that. The sneaky ones don't look malicious until they run, and three days may not help.

Every single one now will be more sneaky, and we’ll be operating on a 3-day cooldown for no reason.

You really think it has zero benefit whatsoever? Nothing malicious will be caught?

Re: Dependabot version updates introduce default package cooldown

#42

I really hate dependabot making generic security people at work so pushy about updates updates updates. They seem to just be dogmatic about whatever dependabot says, forcing churn even when the documented issues are clearly not relevant. I’m not sure how to handle it politically. I’m convinced that updating so much more often is worse, not better.

> I’m convinced that updating so much more often is worse, not better.

The issue of cooldowns aside (which is about delaying updates, not reducing their frequency): you're going to have the same set of problems when you update, whether you do it frequently or infrequently. The difference is that if you update frequently, you'll have a smaller set of updates (so it's easier to debug) and you'll have more opportunity to report issues upstream and fix them in a timely fashion.

It's the same underlying problem as CI and build time. Most people abandoned the concept of projects that take so long to build you can only do testing once a week, because CI that runs on every PR provides a much better experience. This is the same lesson applied to updates.

Re: Dependabot version updates introduce default package cooldown

#43
post #15

If everyone starts applying cooldowns, won't it postpone the problem? So now there is a considerable amount of users who are affected and someone from the affected group discovers the infection and reports it. But if everyone will be delaying updates, won't be there less chances to catch it in time? I'm not fully sure if it's possible to preventively scan all NPM packages or how much compute it would require.

>If everyone starts applying cooldowns, won't it postpone the problem? There are still research firms who are actively and aggressively scanning new packages once they are pushed. For example socket.dev pulls new packages across ecosystems and performs automated analysis and runs it in a sandbox. We don't have to have them go boom in someone's production repos to find out there is a problem.

Also as an upstream, if your "coworker" releases a strange package without discussing the changes with the broader maintenance group, you might notice after 3-48 hours, but probably not within the hour unless you happened to be online.

Re: Dependabot version updates introduce default package cooldown

#44

Earlier quoted context omitted.

What would a solution to this look like? What would it take to not fear installing software? This isn't a npm problem, its a computing problem in general. Spaces like this are generally pretty against any sort of restrictions or limitations being put on computers under the name of safety (see Manifest v3)

For libraries, I like the Gnu Affero Public License[1]. If you run the library in software with that license, you have to publish all the source of the entire project that incorporates it. No corporation could tolerate this, though, so the library vendor can negotiate a commercial license of their software for appropriate fees. That said, corporations are not going to want to negotiate fees with 100's of vendors over…

> This is why the next big language/software ecosystem needs to integrate payments to vendors in their repository system. That way, commercial license management can occur between the ecosystem owners and the corporate customers and all the vendors get paid their fair share.

I don't think this idea is going to go anywhere.

If a package is available for free, on convenient licensing terms, developers will use it.

If you make them pay, many developers will prefer to just build it themselves. Coding agents make that easier than ever.

Buying a package involves a lot more paperwork – it needs to go through procurement – and introduces new risks, e.g. what if the vendor increases their prices

There are potential exceptions – software with really advanced algorithms (e.g. solvers for optimisation problems); safety critical software; software needing regulatory certification (e.g. there are some Australian government APIs they won't let you call unless you've hired an auditor to certify the software you are calling them with, and the relevant government agency has approved the auditor's report) – but those exceptions are relatively rare, and the existing solutions are arguably adequate to handle them

I also think it is different for packaged SaaS applications [0] because there the buyer isn't a developer, it is someone non-technical, and "use a coding agent to build it yourself" isn't within their comfort zone or risk appetite (at least, not yet).

[0] conflict of interest disclaimer: work for a SaaS vendor

Re: Dependabot version updates introduce default package cooldown

#45
post #15

If everyone starts applying cooldowns, won't it postpone the problem? So now there is a considerable amount of users who are affected and someone from the affected group discovers the infection and reports it. But if everyone will be delaying updates, won't be there less chances to catch it in time? I'm not fully sure if it's possible to preventively scan all NPM packages or how much compute it would require.

There was a story about two men and a tiger

The men see the tiger, one scrambles to run and the other starts putting on their shoes

"Why are you putting on shoes? You'll never outrun the tiger"

"I don't need to, I just need to outrun you"

Re: Dependabot version updates introduce default package cooldown

#46
post #7

This makes me think whether npm (and other registries) should apply security requirements based on ecosystem impact. Example a package having millions of downloads can have special security measures enforced.

What would be a security measure that should only be selectively enforced?

There are few ideas which come to my mind, some might be far fetched, taking NPM as an example.

- Restricting packages with similar names as of popular packages restrict expres because express is a popular package.

- Imposing stricter 2FA checks on accounts of authors of these packages.

- Making sure that published packages don't have vulnerabilities and clear npm audit.

- Alerts in case these packages contain a dependency which is new / relatively new.

Re: Dependabot version updates introduce default package cooldown

#47

What a state of things where we have to fear installing software, and rely on vendors to scan things ahead of time, because our supply chain is such a mess and our tooling is so incapable of (and uninterested in) protecting us.

You cannot call it a supply chain, if you have zero contractual relationships with the authors of the solutions you are using. [1] https://news.ycombinator.com/item?id=44434355

So what?

Re: Dependabot version updates introduce default package cooldown

#48

What a state of things where we have to fear installing software, and rely on vendors to scan things ahead of time, because our supply chain is such a mess and our tooling is so incapable of (and uninterested in) protecting us.

No way to prevent this says only package manager where this regularly happens.

Every major package manager is just as fucked.

Re: Dependabot version updates introduce default package cooldown

#49

What a state of things where we have to fear installing software, and rely on vendors to scan things ahead of time, because our supply chain is such a mess and our tooling is so incapable of (and uninterested in) protecting us.

What would a solution to this look like? What would it take to not fear installing software? This isn't a npm problem, its a computing problem in general. Spaces like this are generally pretty against any sort of restrictions or limitations being put on computers under the name of safety (see Manifest v3)

> What would a solution to this look like?

Sandboxing and auditing built into the software from the start. Browser Extensions solved this ages ago.

Re: Dependabot version updates introduce default package cooldown

#50
post #11

> The default applies only to version updates. Security updates still open immediately, so critical fixes are never delayed. does this require a real vulnerability report, or CVE? if the package is compromised would they just be able to push a false "critical update" that bypasses this wait?

The idiocy of cooldowns speaks for itself.
Post reply on HN