Live data from Hacker News

We should all be using dependency cooldowns

blog.yossarian.net

11–20 of 287 posts

Re: We should all be using dependency cooldowns

#11
post #6

I hate this. Delaying real bugfixes to achieve some nebulous poorly defined security benefit is just bad engineering.

Do you upgrade all your dependencies every day ? If not, then there’s no real difference in upgrading as if it were 7 days ago.

Your CI/CD might be setup to upgrade all your dependencies on every build.

Re: We should all be using dependency cooldowns

#12
post #6

I hate this. Delaying real bugfixes to achieve some nebulous poorly defined security benefit is just bad engineering.

Do you upgrade all your dependencies every day ? If not, then there’s no real difference in upgrading as if it were 7 days ago.

Unattended upgrades for server installations are very common. For instance, for Ubuntu/Debian this updates by default daily (source: https://documentation.ubuntu.com/server/how-to/software/auto...). No cooldown implemented, AFAIK.

Of course we talk about OS security upgrades here, not library dependencies. But the attack vector is similar.

Re: We should all be using dependency cooldowns

#13
post #6

I hate this. Delaying real bugfixes to achieve some nebulous poorly defined security benefit is just bad engineering.

Do you upgrade all your dependencies every day ? If not, then there’s no real difference in upgrading as if it were 7 days ago.

I upgrade all dependencies every time I deploy anything. If you don't, a zero day is going to bite you in the ass: that's the world we now live in.

If upgrading like that scares you, your automated testing isn't good enough.

On average, the most bug free Linux experience is to run the latest version of everything. I wasted much more time backporting bugfixes before I started doing that, than I have spent on new bugs since.

Re: We should all be using dependency cooldowns

#14
post #3

Doesn't this mean you're leaving yourself open to known vulnerabilities during that "cool down" time?

No.

A sane "cooldown" is just for automated version updates relying on semantic versioning rules, which is a pretty questionable practice in the first place, but is indeed made a lot more safe this way.

You can still manually update your dependency versions when you learn that your code is exposed to some vulnerability that's purportedly been fixed. It's no different than manually updating your dependency version when you learn that there's some implementation bug or performance cliff that was fixed.

You might even still use an automated system to identify these kinds of "critical" updates and bring them to your attention, so that you can review them and can appropriately assume accountability for the choice to incorporate them early, bypassing the cooldown, if you believe that's the right thing to do.

Putting in that effort, having the expertise to do so, and assuming that accountability is kind of your "job" as a developer or maintainer. You can't just automate and delegate everything if you want people to be able to trust what you share with them.

Re: We should all be using dependency cooldowns

#15
post #6

I hate this. Delaying real bugfixes to achieve some nebulous poorly defined security benefit is just bad engineering.

Do you upgrade all your dependencies every day ? If not, then there’s no real difference in upgrading as if it were 7 days ago.

Renovate (dependabot equiv I think) creates PRs, I usually walk through them every morning or when there's a bit of downtime. Playing with the idea to automerge patches and maybe even minor updates but up until now it's not that hard to keep up.

Re: We should all be using dependency cooldowns

#17
post #11
post #6

Earlier quoted context omitted.

Do you upgrade all your dependencies every day ? If not, then there’s no real difference in upgrading as if it were 7 days ago.

Your CI/CD might be setup to upgrade all your dependencies on every build.

I’ve seen a lot of CI/CD setups and I’ve never seen that. If that were common practice, it would certainly simplify the package manager, since there would be no need for lockfiles!

Re: We should all be using dependency cooldowns

#19
post #3

Doesn't this mean you're leaving yourself open to known vulnerabilities during that "cool down" time?

Yep. Not only vulnerabilities, but just bugs in general, which usually matter more than than vulnerabilities IMHO.

Do you believe new releases don't introduce new bugs?

Re: We should all be using dependency cooldowns

#20
People in this thread are worried that they are significantly vulnerable if they don't update right away. However, this is mostly not an issue in practice. A lot of software doesn't have continuous deployment, but instead has customer-side deployment of new releases, which follow a slower rhythm of several weeks or months, barring emergencies. They are fine. Most vulnerabilities that aren't supply-chain attacks are only exploitable under special circumstances anyway. The thing to do is to monitor your dependencies and their published vulnerabilities, and for critical vulnerabilities to assess whether your product is affect by it. Only then do you need to update that specific dependency right away.
Post reply on HN