News for hackers. Stuff that matters.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by postalcoder on Tuesday March 31, 2026 @12:05AM (#47582632)
PSA: npm/bun/pnpm/uv now all support setting a minimum release age for packages.

Here's how to set global configs to set min release age to 7 days:

  ~/.config/uv/uv.toml
  exclude-newer = "7 days"

  ~/.npmrc
  min-release-age=7 # days
  ignore-scripts=true
  
  ~/Library/Preferences/pnpm/rc
  minimum-release-age=10080 # minutes
  
  ~/.bunfig.toml
  [install]
  minimumReleaseAge = 604800 # seconds


If you're developing with LLM agents, you should also update your AGENTS.md/CLAUDE.md file with some guidance on how to handle these sorts of failures as they will cause the agent to unproductively spin its wheels.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by mhio on Tuesday March 31, 2026 @12:33AM (#47582785)
and for yarn berry

    ~/.yarnrc.yml
    npmMinimalAgeGate: "3d"
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by XYen0n on Tuesday March 31, 2026 @12:39AM (#47582818)
If everyone avoids using packages released within the last 7 days, malicious code is more likely to remain dormant for 7 days.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by otterley on Tuesday March 31, 2026 @12:42AM (#47582838)
What do you base that on? Threat researchers (and their automated agents) will still keep analyzing new releases as soon as they’re published.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by mike_hearn on Tuesday March 31, 2026 @04:33AM (#47584335)
Their analysis was triggered by open source projects upgrading en-masse and revealing a new anomalous endpoint, so, it does require some pioneers to take the arrows. They didn't spot the problem entirely via static analysis, although with hindsight they could have done (missing GitHub attestation).
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by narrator on Tuesday March 31, 2026 @05:14AM (#47584668)
A security company could set up a honeypot machine that installs new releases of everything automatically and have a separate machine scan its network traffic for suspicious outbound connections.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by mike_hearn on Tuesday March 31, 2026 @10:16AM (#47587747)
The problem is what counts as suspicious. StepSecurity are quite clear in their post that they decide what counts as anomalous by comparing lots of open source runs against prior data, so they can't figure it out on their own.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by staticassertion on Tuesday March 31, 2026 @07:01AM (#47585545)
> What do you base that on?

The entire history of malware lol

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by otterley on Tuesday March 31, 2026 @10:04AM (#47587576)
Can you elaborate? Why do you believe that motivated threat hunters won’t continue to analyze and find threats in new versions of open source software in the first week after release?
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by staticassertion on Tuesday March 31, 2026 @10:08AM (#47587630)
Attackers going "low and slow" when they know they're being monitored is just standard practice.

> Why do you believe that motivated threat hunters won’t continue to analyze and find threats in new versions of open source software in the first week after release?

I'm sure they will, but attackers will adapt. And I'm really unconvinced that these delays are really going to help in the real world. Imagine you rely on `popular-dependency` and it gets compromised. You have a cooldown, but I, the attacker, issue "CVE-1234" for `popular-dependency`. If you're at a company you now likely have a compliance obligation to patch that CVE within a strict timeline. I can very, very easily pressure you into this sort of thing.

I'm just unconvinced by the whole idea. It's fine, more time is nice, but it's not a good solution imo.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by otterley on Tuesday March 31, 2026 @10:23AM (#47587842)
What, in your view, is a better solution?
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by staticassertion on Tuesday March 31, 2026 @11:12AM (#47588535)
There are many options. Here's a post just briefly listing a few of the ones that would be handled by package managers and registries, but there are also many things that would be best done in CI pipelines as well.

https://news.ycombinator.com/item?id=47586241

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by PunchyHamster on Tuesday March 31, 2026 @08:25AM (#47586308)
The fact threat researchers and especially their automated agents are not all that good at their jobs
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by zwily on Tuesday March 31, 2026 @09:19AM (#47586970)
Those threat researchers and their autonomous agents caught this axios release.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by cozzyd on Tuesday March 31, 2026 @12:41AM (#47582835)
that's why people are telling others to use 7 days but using 8 days themselves :)
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by porridgeraisin on Tuesday March 31, 2026 @03:34AM (#47583928)
Genius
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by wongarsu on Tuesday March 31, 2026 @06:33AM (#47585286)
brb, switching everything to 9 days
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by johnisgood on Tuesday March 31, 2026 @09:18AM (#47586947)
That is 3D chess level type shit. xD
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by MetaWhirledPeas on Tuesday March 31, 2026 @11:18AM (#47588637)
You don't have to be faster than the bear, you just have to be faster than the other guy.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by jmward01 on Tuesday March 31, 2026 @12:43AM (#47582846)
I suspect most packages will keep a mix of people at 7 days and those with no limit. That being said, adding jitter by default would be good to these features.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by Barbing on Tuesday March 31, 2026 @02:16AM (#47583389)
>adding jitter by default would be good

This became evident, what, perhaps a few years ago? Probably since childhood for some users here but just wondering what the holdup is. Lots of bad press could be avoided, or at least a little.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by DimmieMan on Tuesday March 31, 2026 @12:41AM (#47582832)
They’re usually picked up by scanners by then.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by Aurornis on Tuesday March 31, 2026 @12:55AM (#47582902)
Most people won’t.

7 days gives ample time for security scanning, too.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by bakugo on Tuesday March 31, 2026 @12:46AM (#47582863)
> If everyone avoids using packages released within the last 7 days

Which will never even come close to happening, unless npm decides to make it the default, which they won't.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by 3abiton on Tuesday March 31, 2026 @01:27AM (#47583078)
This highly depends on the detection mechanism.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by shreyssh on Tuesday March 31, 2026 @05:31AM (#47584797)
Worth noting this attack was caught because people noticed anomalous network traffic to a new endpoint. The 7-day delay doesn't just give scanners time, it gives the community time to notice weird behavior from early adopters who didn't have the delay set.

It's herd immunity, not personal protection. You benefit from the people who DO install immediately and raise the alarm

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by sersi on Tuesday March 31, 2026 @05:38AM (#47584842)
But wouldn't the type of people that notifes anomalous network activity be exactly the type of people who add a 7 day delay because they're security conscious?
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by DrewADesign on Tuesday March 31, 2026 @09:57AM (#47587495)
And I’ll bet a chunk of already-compromised vibe coders are feeling really on-top-of-shit because they just put that in their config, locking in that compromised version for a week.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by superjan on Tuesday March 31, 2026 @01:16AM (#47583017)
About the use of different units: next time you choose a property name in a config file, include the unit in the name. So not “timeout” but “timeoutMinutes”.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by layer8 on Tuesday March 31, 2026 @02:33AM (#47583504)
Or require the value to specify a unit.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by mort96 on Tuesday March 31, 2026 @03:02AM (#47583730)
At that point, you're making all your configuration fields strings and adding another parsing step after the json/toml/yaml parser is done with it. That's not ideal either; either you write a bunch of parsing code (not terribly difficult but not something I wanna do when I can just not), or you use some time library to parse a duration string, in which case the programming language and time library you happen to use suddenly becomes part of your config file specification and you have to exactly re-implement your old time handling library's duration parser if you ever want to switch to a new one or re-implement the tool in another language.

I don't think there are great solutions here. Arguably, units should be supported by the config file format, but existing config file formats don't do that.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by notpushkin on Tuesday March 31, 2026 @03:31AM (#47583918)
TOML has a datetime type (both with or without tz), as well as plain date and plain time:

  start_at = 2026-05-27T07:32:00Z  # RFC 3339
  start_at = 2026-05-27 07:32:00Z  # readable
We should extend it with durations:

  timeout = PT15S  # RFC 3339
And like for datetimes, we should have a readable variant:

  timeout = 15s   # can omit "P" and "T" if not ambiguous, can use lowercase specifiers
Edit: discussed in detail here: https://github.com/toml-lang/toml/issues/514
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by iririririr on Tuesday March 31, 2026 @10:51AM (#47588211)
great, now attackers can also target all the libraries to enable all that complexity in npm too.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by dxdm on Tuesday March 31, 2026 @06:21AM (#47585194)
> adding another parsing step after the json/toml/yaml parser is done with it. That's not ideal either

I'd argue that it is ideal, in the sense that it's the sweet spot for a general config file format to limit itself to simple, widely reusable building blocks. Supporting more advanced types can get in the way of this.

Programs need their own validation and/or parsing anyway, since correctness depends on program-specific semantics and usually only a subset of the values of a more simply expressed type is valid. That same logic applies across inputs: config may come from files, CLI args, legacy formats, or databases, often in different shapes. A single normalization and validation path simplifies this.

General formats must also work across many languages with different type systems. More complex types introduce more possible representations and therefore trade-offs. Even if a file parser implements them correctly (and consistently with other such parsers), it must choose an internal form that may not match what a program needs, forcing extra, less standard transformation and adding complexity on both sides for little gain.

Because acceptable values are defined by the program, not the file, a general format cannot fully specify them and shouldn’t try. Its role is to be a medium and provide simple, human-usable (for textual formats), widely supported types, avoid forcing unnecessary choices, and get out of the way.

All in all, I think it can be more appropriate for a program to pick a parsing library for a more complex type, than to add one consistently to all parsers of a given file format.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by layer8 on Tuesday March 31, 2026 @07:22AM (#47585745)
Another parsing step is the common case. Few parameters represent untyped strings where all characters and values are valid. For numbers as well, you often have a limited admissible range that you have to validate for. In the present case, you wouldn’t allow negative numbers, and maybe wouldn’t allow fractional numbers. Checking for a valid number isn’t inherently different from checking for a regex match. A number plus unit suffix is a straightforward regex.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by weird-eye-issue on Tuesday March 31, 2026 @01:48AM (#47583212)
timeoutMs is shorter ;)

You guys can't appreciate a bad joke

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by cozzyd on Tuesday March 31, 2026 @02:21AM (#47583425)
Megaseconds are about the right timescale anyway
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by kace91 on Tuesday March 31, 2026 @05:41AM (#47584863)
What megaseconds? They clearly meant the Microsoft-defined timeout.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by cozzyd on Tuesday March 31, 2026 @09:36AM (#47587180)
Well megaseconds has the nice property that it's about about equal to a Scaramucci so it can be used across domains.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by sayamqazi on Tuesday March 31, 2026 @02:13AM (#47583377)
not timeout at all is even shorter.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by withinboredom on Tuesday March 31, 2026 @05:01AM (#47584543)
timoutμs is even better. People will learn how to type great symbols.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by johnisgood on Tuesday March 31, 2026 @09:14AM (#47586895)
Yes timout indeed!
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by funcDropShadow on Tuesday March 31, 2026 @09:24AM (#47587023)
They wouldn't have to, if the file format accepted floats in proper exponential format.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by s1mn on Tuesday March 31, 2026 @10:38AM (#47588018)
Yes!! This goes for any time you declare a time interval variable. The number of times I've seen code changes with a comment like "Turns out the delay arg to function foo is in milliseconds, not seconds".
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by friendzis on Tuesday March 31, 2026 @01:35AM (#47583126)
> (Side note, it's wild that npm, bun, and pnpm have all decided to use different time units for this configuration.)

First day with javascript?

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by notpushkin on Tuesday March 31, 2026 @01:47AM (#47583201)
You mean first 86,400 seconds?
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by x0x0 on Tuesday March 31, 2026 @02:45AM (#47583592)
You have to admire the person who designed the flexibility to have 87239 seconds not be old enough, but 87240 to be fine.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by raverbashing on Tuesday March 31, 2026 @03:01AM (#47583720)
This is the difference between thinking about the user experience and thinking just about the technical aspect
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by zelphirkalt on Tuesday March 31, 2026 @05:42AM (#47584866)
I actually think it is not too bad a design, because seconds are the SI base unit for time. Putting something like "x days" requires additional parsing steps and therefore complexity in the implementation. Either knowing or calculating how many seconds there are in a day can be expected of anyone touching a project or configuration at this level of detail.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by wongarsu on Tuesday March 31, 2026 @06:27AM (#47585229)
Seconds are also unambiguous. Depending on your chosen definition, "X days" may or may not be influenced by leap seconds and DST changes.

I doubt anyone cares about an hour more or less in this context. But if you want multiple implementations to agree talking about seconds on a monotonic timer is a lot simpler

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by sverhagen on Tuesday March 31, 2026 @08:11AM (#47586173)
I came here to argue the opposite. Expressing it in seconds takes away questions about time zones and DST.

I think you're incorrect to say that second are also ambiguous. Maybe what you mean is that days are more practical, but that seems very much a personal preference.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by pavel_lishin on Tuesday March 31, 2026 @09:18AM (#47586953)
I think you misread the comment you're replying to.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by friendzis on Tuesday March 31, 2026 @11:08AM (#47588479)
I understand the [flawed] reasoning behind "x seconds from now is going to be roughly now() + x on this particular system", but how does defining the cooldown from an external timestamp save you from dealing with DST and other time shenanigans? In the end you are comparing two timestamps and that comparison is erroneous without considering time shenanigans
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by woodruffw on Tuesday March 31, 2026 @10:12AM (#47587689)
Could you explain what you mean re: ambiguity? I understand why “calendar units” like months are ambiguous, but minutes, hours, days, and weeks all have fixed durations (which is why APIs like Python’s `timedelta` allows them).
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by nightpool on Tuesday March 31, 2026 @10:22AM (#47587812)
The minute between December 31, 2016 23:59 and January 1st 2017 is 61 seconds, not 60 seconds. The hour that contains that minute is 3601 seconds, the day that contains that hour is 43201 seconds, etc. If you assume a fixed duration and simply multiply by 43200, your math will be wrong compared to the rest of the world.

Daylight savings time makes a day take 23 hours or 25 hours. That makes a week take 7254000 seconds or 7261200 seconds. Etc.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by woodruffw on Tuesday March 31, 2026 @10:30AM (#47587932)
That’s what I mean by calendar units. These aren’t issues if you don’t try to apply durations to the “real” calendar.

(This is all in the context of cooldowns, where I’m not convinced the there’s any real ambiguity risk by allowing the user to specify a duration in day or hour units rather than seconds. In that context a day is exactly 24 hours, regardless of what your local savings time rules are.)

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by wongarsu on Tuesday March 31, 2026 @11:18AM (#47588623)
"exactly 24 hours" could still be anywhere between 86399 and 86401 seconds, depending on leap seconds. At least if by an hour you mean an interval of 60 minutes, because a minute that contains a leap second will have either 59 or 61 seconds.

You could specify that for the purposes of cooldowns you want "hour" to mean an interval of 3600 seconds. But that you have to specify that should illustrate how ambiguous the concept of an hour is. It's not a useless concept by any means and I far prefer to specify duration in hours and days, but you have to spend a sentence or two on defining which definition of hours and days you are using. Or you don't and just hope nobody cares enough about the exact cooldown duration

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by hunter2_ on Wednesday April 01, 2026 @10:52AM (#47601744)
If you say "wait 1 day without using a calendar+locale" then the duration is unambiguously 86400s, but if you say "wait 1 day using a calendar+locale" or "wait until this time tomorrow" then the duration is ambiguous until you've incorporated rules like leap/DST. I think GP's point is that "wait 1 day" unambiguously defaults to the former, and you disagree, but perhaps it's a reasonable default.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by woodruffw on Wednesday April 01, 2026 @11:02AM (#47601880)
Yep, this is exactly my point. Durations are abstract spans of "stopwatch time," they don't adhere to local times or anything else we use as humans to make time more useful to us. In that context there's no real ambiguity to using units like hours/days/weeks (but not months, etc.) because they have unambiguous durations.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by hunter2_ on Sunday April 05, 2026 @10:44AM (#47649975)
Now you've got me wondering something: if a "stopwatch month" can't exist since everyone agrees that different months have different durations (and therefore you must select one like "the month of January" to know how long to run the stopwatch), isn't there an argument that a "stopwatch year" has the same need to select one since everyone agrees that different years have different day counts (unless we mean a solar year in seconds, not quantized to the nearest day, but that's probably a Bad Default)?

The collective human decision to make days-per-year vary (requiring leap rules to calculate days) seems similar to the collective human decision to make days-per-month vary (requiring month names to calculate days). So if we say a "stopwatch year" suffers the same fate as the "stopwatch month" then it's a slippery slope to saying the "stopwatch minute" is no different than a "stopwatch year" (requiring leap rules to calculate seconds) even if, for all practical purposes, it seems exempt.

I guess this is why we make "second" the SI unit, and none of our human-convenience rules mess with the duration of a second. A leap second changes the duration of a minute (and above), and a leap year changes the duration of a month (and above). Which, oddly enough, demonstrates an inconsistency: we ought to say "leap day" instead of "leap year" if the thing being added will follow the word "leap."

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by _alternator_ on Tuesday March 31, 2026 @11:30AM (#47588850)
Leap seconds are their own nightmare. UNIX time ignores them, btw, so that the unix epoch is 86400*number of days since 1/1/1970 + number of seconds since midnight. The behavior at the instance of a leap second is undefined.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by adrianN on Tuesday March 31, 2026 @12:07PM (#47589481)
Undefined behavior is worse than complicated defined behavior imo.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by oasisbob on Tuesday March 31, 2026 @01:18PM (#47590572)
That's a good way of describing that. It's far too easy to pretend UNIX timestamps would correspond to a stopwatch counting from 1/1/1970.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by _alternator_ on Tuesday March 31, 2026 @02:43PM (#47591682)
Right. Currently epoch time is off the stopwatch time by 27 seconds.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by jon-wood on Tuesday March 31, 2026 @10:21AM (#47587798)
In the UK last Sunday was 23 hours long because we switched to BST, and occasionally leap seconds will result in a minute being something other 60 seconds.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by extraduder_ire on Tuesday March 31, 2026 @01:02PM (#47590325)
No it wasn't. The country instantaneously changed timezones from UTC+0 to UTC+1 (called something else locally), it was no different to any other timezone change from e.g. physically moving into another timezone.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by myhf on Tuesday March 31, 2026 @12:16PM (#47589646)
exploiting the ambiguity in date formats by releasing a package during a leap second
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by rolux on Tuesday March 31, 2026 @07:38AM (#47585865)
> seconds are the SI base unit for time

True. But seconds are not the base unit for package compromises coming to light. The appropriate unit for that is almost certainly days.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by PunchyHamster on Tuesday March 31, 2026 @08:22AM (#47586278)
that kind of complexity is always worth it. Every single time. It's user time that you're saving and it also makes config clearer for readers and cuts out on "too many/little zeroes on accident" errors

It's just library for handling time that 98% of the time your app will be using for something else.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by x0x0 on Tuesday March 31, 2026 @12:40PM (#47590012)
I find it best when I need a calculator to understand security settings. 604800 here we come
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by dspillett on Tuesday March 31, 2026 @10:03AM (#47587565)
Probably went with the simplest implementation, if starting from the current “seconds since epoch” value. Let the user do any calculations needed to translate three days into that measurement.

It also efficiently annoys the most people at once: those what want hours will complain if they set it to days, thought that want days will complain if hours are used. By using minutes or seconds you can wind up both segments while not offend those who rightly don't care because they can cope with a little arithmetic :)

Though doing what sleep(1) does would be my preference: default to seconds but allow m/h/d to be added to change that.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by Xirdus on Tuesday March 31, 2026 @10:13AM (#47587701)
I'm old enough to remember computers being pitched as devices that can do tedious math for us. Now we have to do tedious math for them apparently.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by dspillett on Tuesday March 31, 2026 @10:22AM (#47587811)
Hence the way I would do it (and have for other purposes), as stated in my final sentence. Have the human state the intent and convert to your own internally preferred units as needed.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by darepublic on Tuesday March 31, 2026 @11:00AM (#47588329)
I'm sure you would like to memorize all kinds of API instead of having something idiot proof and straightforward
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by Xirdus on Tuesday March 31, 2026 @02:59PM (#47591902)
As if `minimumReleaseAge` in `[install]` section of `.bunfig.toml` doesn't require the same kind of memorization.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by moralestapia on Tuesday March 31, 2026 @11:33AM (#47588890)
Hey that's a great joke, you made me spill my morning home-brewed kombucha.

I'm going to steal that one for my JavaScript monthly developers meetup.

Is it ok if I attribute it to "Xirdus on Hacker News"?

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by Xirdus on Tuesday March 31, 2026 @02:57PM (#47591866)
Lol sure.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by OJFord on Tuesday March 31, 2026 @04:05PM (#47592730)
No no no, see now we just say "computer! do tedious math!", and it will do some slightly different math for us and compliment us on having asked it to do so.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by fc417fc802 on Tuesday March 31, 2026 @10:40AM (#47588046)
The one true unit of time is hexadecimal encoded nanoseconds since the unix epoch. (I'm only half joking because I actually have authored code that used that before.)
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by scoutt on Tuesday March 31, 2026 @11:34AM (#47588910)
Well, you have 1000000 microseconds in between. That's a big threshold.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by pwillia7 on Tuesday March 31, 2026 @10:31AM (#47587938)
wait what if we start on a day DST starts or ends????
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by gib444 on Tuesday March 31, 2026 @02:21AM (#47583426)
OP should be glad a new time unit wasn't invented
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by friendzis on Tuesday March 31, 2026 @03:31AM (#47583916)
Workdays! Think about it, if you set the delay in regular days/seconds the updated dependency can get pulled in on a weekend with only someone maybe on-call.

(Hope your timezones and tzdata correctly identifies Easter bank holiday as non-workdays)

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by yohannesk on Tuesday March 31, 2026 @04:07AM (#47584134)
And we also need localization. Each country can have their own holidays
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by rolandog on Tuesday March 31, 2026 @04:35AM (#47584345)
And we need groups of locales for teams that are split across multiple locations; e.g.:

  new_date = add_workdays(
    workdays=1.5,
    start=datetime.now(),
    regions=["es", "mx", "nl", "us"],
  )
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by mewpmewp2 on Tuesday March 31, 2026 @04:59AM (#47584525)
Hopefully "es" will have Siesta support too.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by zdc1 on Tuesday March 31, 2026 @04:51AM (#47584469)
Might be better to calculate them separately for each locale and then tie-break with your own approach (min/max/avg/median/etc.)
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by wongarsu on Tuesday March 31, 2026 @06:30AM (#47585263)
Don't forget about regional holidays, which might follow arbitrary borders that don't match any of the official subdivisions of the country. Or may even depend on the chosen faith of the worker
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by reaperducer on Tuesday March 31, 2026 @09:01AM (#47586754)
Pulaski day in Illinois. Or Reds Opening Day in Cincinnati.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by berkes on Tuesday March 31, 2026 @04:24AM (#47584263)
> Workdays!

This is javascript, not Java.

In JavaScript something entirely new would be invented, to solve a problem that has long been solved and is documented in 20+ year old books on common design patterns. So we can all copy-paste `{ or: [{ days: 42, months: 2, hours: "DEFAULT", minutes: "IGNORE", seconds: null, timezone: "defer-by-ip" }, { timestamp: 17749453211*1000, unit: "ms"}]` without any clue as to what we are defining.

In Java, a 6000LoC+ ecosystem of classes, abstractions, dependency-injectables and probably a new DSL would be invented so we can all say "over 4 Malaysian workdays"

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by mikeryan on Tuesday March 31, 2026 @08:13AM (#47586191)
JavaScript Temporal. Not sure knowing what a "workday" is in each timezone is in it's scope but it's the much needed and improved JS, date API (granted with limited support to date)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by whatisthiseven on Tuesday March 31, 2026 @04:41AM (#47584388)
But you know that Java solution will continue working even after we no longer use the Gregorian Calendar, the collapse and annexation of Malaysia to some foreign power, and then us finally switching to a 4-day work week; so it'd be worth it.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by nesarkvechnep on Tuesday March 31, 2026 @05:18AM (#47584698)
It probably won’t work correctly from the get go. But it can be debugged everywhere so that’s good.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by berkes on Tuesday March 31, 2026 @06:29AM (#47585245)
... and since it was architectured to allow runtime injection-patching of events before they hit the enterprise-service-bus, everyone using this library must first set fourteen ENV vars in their profile, and provide a /etc/java/springtime/enterprise-workday-handling/parse-event-mismatch.jar.patch. Which should fix the bug for you.

You can find the patch files for your OSs by registering at Oracle with a J3EE8.4-PatchLibID (note, the older J3EE16-PatchLib-ids aren't compatible), attainable from your regional Oracle account-manager.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by hluska on Tuesday March 31, 2026 @08:54AM (#47586666)
This isn’t even remotely funny.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by pcblues on Tuesday March 31, 2026 @11:19AM (#47588645)
I am laughing. I'm not even near the end of this thread.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by xorcist on Tuesday March 31, 2026 @09:54AM (#47587437)
And least one of those environment can contain template strings that are expanded with arguments from request headers when run under popular enterprise java frameworks, and by way of the injection patching could hot load arbitrary code in runtime.

A joke should be funny though, not just a dry description of real life, so let's leave it at that. We've already taken it too far.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by PunchyHamster on Tuesday March 31, 2026 @08:23AM (#47586292)
In before someone thinks it's a joke, the most commonly used logging library in Java had LDAP support in format scripts enabled by default" (which resulted, of course in CVE)
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by myhf on Tuesday March 31, 2026 @12:19PM (#47589697)
There's an extra digit in your timestamp.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by berkes on Tuesday April 07, 2026 @03:06PM (#47679900)
Ah but you don't know how far in the future I intended it to be :)
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by sverhagen on Tuesday March 31, 2026 @08:15AM (#47586212)
Why would it get pulled in over the weekend? What automatic deployments are you running if there also isn't a human working to get it out?

Do you run automatic dependency updates over the weekend? Wouldn't you rather do that during fully-staffed hours?

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by ecshafer on Tuesday March 31, 2026 @09:43AM (#47587302)
When I worked in Finance our internal Date extension did actually have Workdays that took into account Stock Market and Bank Holidays.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by tsukikage on Tuesday March 31, 2026 @11:07AM (#47588457)
…now imagine a list of instruments, some of which have durations specified in days/weeks/months (problems already with the latter) and some in workdays, and the user just told your app to display it sorted by duration.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by brunoarueira on Tuesday March 31, 2026 @11:31AM (#47588858)
Me too, it was just a constant filled with bank holidays for the next 6 years
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by matltc on Tuesday March 31, 2026 @11:12AM (#47588532)
I tried to write this function in Power Query (Excel hell). Gave up after an hour or so.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by dspillett on Tuesday March 31, 2026 @10:07AM (#47587618)
Nah, working hours and make global assumptions of 0900-1230/1330-1730, M-F, and have an overly convoluted way to specify what working ours actually are in the relevant location(s).
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by ghurtado on Tuesday March 31, 2026 @04:10AM (#47584156)
If we're taking suggestions, I'd like to propose "parsec" (not to be confused with the unit of distance of the same name)

That way Han Solo can make sense in the infamous quote.

EDIT: even Gemini gets this wrong:

> In Star Wars, a parsec is a unit of distance, not time, representing approximately 3.26 light-years

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by latexr on Tuesday March 31, 2026 @04:31AM (#47584318)
> That way Han Solo can make sense in the infamous quote.

They explained it in the Solo movie.

https://www.reddit.com/r/MovieDetails/comments/ah3ptm/solo_a...

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by slavik81 on Tuesday March 31, 2026 @08:01AM (#47586087)
That had more or less been the explanation in the books for decades, and even in George Lucas' notes from 1977:

> It's a very simple ship, very economical ship, although the modifications he made to it are rather extensive – mostly to the navigation system to get through hyperspace in the shortest possible distance (parsecs).

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by binarymax on Tuesday March 31, 2026 @06:52AM (#47585455)
Making a whole movie just to retcon the parsec misuse in Ep IV was a choice
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by latexr on Tuesday March 31, 2026 @08:01AM (#47586093)
They made a movie to make money. I doubt anyone holding the purse strings cared one iota if that bit were corrected or not. It’s not really a retcon either because they didn’t change anything.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by inopinatus on Tuesday March 31, 2026 @08:33AM (#47586410)
It was already fine, because it’s a metric defined on a submanifold of relativistic spacetime.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by slowmovintarget on Tuesday March 31, 2026 @09:29AM (#47587082)
Parallax arc-second -> distance.

For Star Wars, they retconned it to mean he found the shortest possible route through dangerous space, so even for Han Solo's quote, it's still distance.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by cyrusmg on Tuesday March 31, 2026 @03:09AM (#47583768)
N multiplications of dozen-second
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by vasco on Tuesday March 31, 2026 @05:48AM (#47584903)
To me it sounds safer to have different big infra providers with different delays, otherwise you still hit everyone at the same time when something does inevitably go undetected.

And the chances of staying undetected are higher if nobody is installing until the delay time ellapses.

It's the same as not scheduling all cronjobs to midnight.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by WD-42 on Tuesday March 31, 2026 @01:36AM (#47583130)
Props to uv for actually using the correct config path jfc what is “bunfig”
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by abustamam on Tuesday March 31, 2026 @05:22AM (#47584731)
Silly portmanteau of "bun" and "config"
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by recursive on Tuesday March 31, 2026 @12:02PM (#47589402)
A trendy sandwich
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by flanbiscuit on Tuesday March 31, 2026 @01:49AM (#47583219)
Pnpm did this first but I’m glad to see all the others follow suit

For anyone wondering, you need to be on npm >= 11.10.0 in order to use it. It just became available Feb 11 2026

https://github.com/npm/cli/releases/tag/v11.10.0

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by umko21 on Tuesday March 31, 2026 @02:10AM (#47583359)
The config for uv won't work. uv only supports a full timestamp for this config, and no rolling window day option afaik. Am I crazy or is this llm slop?
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by ad3xyz on Tuesday March 31, 2026 @02:15AM (#47583385)
https://docs.astral.sh/uv/concepts/resolution/#dependency-co...

> Define a dependency cooldown by specifying a duration instead of an absolute value. Either a "friendly" duration (e.g., 24 hours, 1 week, 30 days) or an ISO 8601 duration (e.g., PT24H, P7D, P30D) can be used.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by umko21 on Tuesday March 31, 2026 @02:55AM (#47583686)
My bad. This works for per project configuration, but not for global user configuration.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by js2 on Tuesday March 31, 2026 @03:20AM (#47583844)
I think it should work at the user config level too:

> If project-, user-, and system-level configuration files are found, the settings will be merged, with project-level configuration taking precedence over the user-level configuration, and user-level configuration taking precedence over the system-level configuration.

https://docs.astral.sh/uv/concepts/configuration-files/

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by woodruffw on Tuesday March 31, 2026 @08:47AM (#47586583)
It should work for global configuration too, please file an issue if you’re observing otherwise.

(Make sure you’re on a version that actually supports relative times, please!)

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by sbarre on Tuesday March 31, 2026 @09:07AM (#47586810)
This is what tripped me up. I added that config and then got this error:

error: Failed to parse: `.config/uv/uv.toml` Caused by: TOML parse error at line 1, column 17 | 1 | exclude-newer = "7 days" | ^^^^^^^^ failed to parse year in date "7 days": failed to parse "7 da" as year (a four digit integer): invalid digit, expected 0-9 but got

I was on version 0.7.20, so I removed that line, ran "uv self update" and upgraded to 0.11.2 and then re-added the config and it works fine now.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by woodruffw on Tuesday March 31, 2026 @09:11AM (#47586870)
Yeah, that error message isn’t ideal on older versions, but unfortunately there’s no way to really address that. But I’m glad it’s working for you on newer versions.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by sbarre on Tuesday March 31, 2026 @01:14PM (#47590502)
For what it's worth the error made sense enough to me that I figured I needed to upgrade. :-)
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by ashishb on Tuesday March 31, 2026 @02:53AM (#47583667)
Run npm/pnpm/bun/uv inside a sandbox.

There is no reason to let random packages have full access to your machine

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by bbkane on Tuesday March 31, 2026 @08:27AM (#47586333)
Sandboxing by to default world be really nice. One of the things I really appreciate about Claude Code is its permissions model
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by cvak on Tuesday March 31, 2026 @04:03AM (#47584113)
I think the npm doesn't support end of line comments, so

  ~/.npmrc
  min-release-age=7 # days 
actually doesn't set it at all, please edit your comment.

EDIT: Actually maybe it does? But it's weird because

`npm config list -l` shows: `min-release-age = null` with, and without the comment. so who knows ¯\_(ツ)_/¯

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by cvak on Tuesday March 31, 2026 @04:31AM (#47584319)
ok, it works, only the list function shows it as null...
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by imhoguy on Tuesday March 31, 2026 @04:43AM (#47584403)
Good luck with any `npm audit` in a pipeline. Sometimes you have to pull the latest release because the previous one had a critical vulnerability.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by cowl on Tuesday March 31, 2026 @05:24AM (#47584756)
min release age to 7 days about patch releases exposes you to the other side of the coin, you have an open 7 days window on zero-day exploits that might be fixed in a security release
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by freedomben on Tuesday March 31, 2026 @08:11AM (#47586179)
Exactly what I thought too when I read this...

Urgent fix, patch released, invisible to dev team cause they put in a 7 day wait. Now our app is vulnerable for up to 7 days longer than needed (assuming daily deploys. If less often, pad accordingly). Not a great excuse as to why the company shipped an "updated" version of the app with a standing CVE in it. "Sorry we were blinded to the critical fix because set an arbitrary local setting to ignore updates until they are 7 days old". I wouldn't fire people over that, but we'd definitely be doing some internal training.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by aetherspawn on Tuesday March 31, 2026 @08:16AM (#47586224)
Not really an issue though right because virtually none of these have lasted more than 1-2 days before being discovered?
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by ksnssjsjsj on Tuesday March 31, 2026 @05:40AM (#47584854)
Out of the frying pan and into the frier.....
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by tytho on Tuesday March 31, 2026 @08:26AM (#47586323)
At least with pnpm, you can specify minimumReleaseAgeExclude, temporarily until the time passes. I imagine the other package managers have similar options.

[1]: https://pnpm.io/settings#minimumreleaseageexclude

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by n_e on Tuesday March 31, 2026 @08:33AM (#47586423)
I haven't checked, but it would be surprising that the min-release-age applies to npm audit and equivalent commands
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by CGamesPlay on Tuesday March 31, 2026 @10:07AM (#47587610)
The packages that are actually compromised are yanked, but I assume you're talking about a scenario more like log4shell. In that case, you can just disable the config to install the update, then re-enable in 7 days. Given that compromised packages are uploaded all the time and zero-day vulnerabilities are comparatively less common, I'd say it's the right call.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by robertfw on Tuesday March 31, 2026 @11:24AM (#47588738)
`uv` has per-package overrides, I imagine there may be similar in other managers
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by powerpixel on Tuesday March 31, 2026 @05:25AM (#47584759)
Is there a way to do that per repo for these tools ? We all know how user sided configuration works for users (they usually clean it whenever it goes against what they want to do instead of wondering why it blocks their changes :))
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by ZeWaka on Tuesday March 31, 2026 @05:27AM (#47584776)
At least with npm, you can have a .npmrc per-repo
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by pas on Tuesday March 31, 2026 @11:06AM (#47588447)
pnpm does global + per-repo
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by figmert on Tuesday March 31, 2026 @11:53PM (#47596606)
Fairly sure every single one has a repo level config that you can add these settings to. Others have pointed out the pnpm and npm, and I bunfig can also be repo level.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by sspiff on Tuesday March 31, 2026 @05:26AM (#47584770)
It's wild that none of these are set by default.

I know 90% of people I've worked with will never know these options exist.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by po1nt on Tuesday March 31, 2026 @05:48AM (#47584901)
That would likely mean same amount of people get the vulnerability, just 7 days later.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by user34283 on Tuesday March 31, 2026 @10:21AM (#47587805)
The compromised packages were removed from the registry within hours.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by brabel on Tuesday March 31, 2026 @12:33PM (#47589916)
Because everyone got updates immediately. If the default was 7 days, almost no one would get updates immediately but after 7 days, and now someone only finds about after 7 days. Unless there is a poor soul checking packages as they are published that can alert the registry before 7 days pass, though I imagine very few do that and hence a dedicated attacker could influence them to not look too hard.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by Leherenn on Tuesday March 31, 2026 @12:53PM (#47590210)
If I remember correctly, in all the recent cases it was picked up by automated scanning tools in a few hours, not because someone updated the dependency, checked the code and found the issue.

So it looks like even if no one actually updates, the vast majority of the cases will be caught by automated tools. You just need to give them a bit of time.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by zelphirkalt on Tuesday March 31, 2026 @05:46AM (#47584889)
If everyone or a majority of people sets these options, then I think issues will simply be discovered later. So if other people run into them first, better for us, because then the issues have a chance of being fixed once our acceptable package/version age is reached.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by antihero on Tuesday March 31, 2026 @05:47AM (#47584895)
npm is claiming this doesn’t exist
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by sbarre on Tuesday March 31, 2026 @09:07AM (#47586820)
Make sure you're on version 11.10 or later?
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by jdxcode on Tuesday March 31, 2026 @07:12AM (#47585644)
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by xenophonf on Tuesday March 31, 2026 @08:22AM (#47586283)
Where in the pnpm documentation does it say that it ignores scripts by default?

From https://pnpm.io/cli/install#--ignore-scripts:

> Default: *false*

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by moebrowne on Tuesday March 31, 2026 @12:09PM (#47589536)
Weird. The config also appears to default to `false`

https://pnpm.io/settings#ignorescripts

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by simonkagedal on Tuesday March 31, 2026 @03:28PM (#47592248)
This page describes the behavior, "disables the automatic execution of postinstall scripts in dependencies":

https://pnpm.io/supply-chain-security

While this explicitly calls out "postinstall", I'm pretty sure it affects other such lifecycle scripts like preinstall in dependencies.

The --ignore-scripts option will ignore lifecycle scripts in the project itself, not just dependencies. And it will ignore scripts that you have previously allowed (using the "allowBuilds" feature).

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by dt3ft on Tuesday March 31, 2026 @11:32AM (#47588867)
And when you actually need a super hot fix for a 0-day, you will need to revert this and keep it that way for some time to then go back to minimum age.

While this works, we stillneed a permanent solution which requires a sort of vetting process, rather than blindly letting everything through.

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by cortesoft on Tuesday March 31, 2026 @11:34AM (#47588908)
Who will do the vetting process?
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by password4321 on Tuesday March 31, 2026 @12:44PM (#47590082)
I think my vetting would settle for a repo diff against the previous version, confirming the only difference was the security fix (though that doesn't cover all the bases).
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by pvillano on Tuesday March 31, 2026 @12:55PM (#47590235)
Jia Tan
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by matijs on Tuesday March 31, 2026 @12:31PM (#47589889)
pnpm since v10.19.0 allows excluding specific dependencies from minReleaseAge by version.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by paulddraper on Tuesday March 31, 2026 @11:50AM (#47589205)
Everyone has forgotten standard ISO 8601 durations and invented their own syntax.
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by diarrhea on Tuesday March 31, 2026 @12:18PM (#47589690)
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by paulddraper on Tuesday March 31, 2026 @04:01PM (#47592675)
Perfect
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by robrain on Tuesday March 31, 2026 @12:35PM (#47589939)
mise has an option as well (note the caveats though):

https://mise.jdx.dev/configuration/settings.html#install_bef...

And homebrew has discussed it, kinda sorta:

https://github.com/Homebrew/brew/issues/21129

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by cxr on Tuesday March 31, 2026 @01:21PM (#47590618)
> PSA: npm/bun/pnpm/uv now all support setting a minimum release age for packages.

The solution is not moar toolz. That's the problem—this crazy mindset that the problems endemic to bad tooling have a solution in the form of complementing them with another layer, rather than fewer.

Git and every sane SCM already allow you to manage your source tree without jumping through a bunch of hoops to go along with wacky overlay version control systems like the one that the npmjs.com crew designed, centering around package.json as a way to do an end-run around Git. You don't need to install and deploy anything containing never-before-seen updates just because the NodeJS influencer–developers say that lockfiles are the Right Way to do things. (It's not.)

Opting in to being vulnerable to supply chain attacks is a choice.

<https://news.ycombinator.com/item?id=46006471>

<https://news.ycombinator.com/item?id=46360308>

Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by melroy89 on Wednesday April 01, 2026 @12:20PM (#47602930)
`~/Library/Preferences/pnpm/rc` reads like is MacOS.. I'm using Linux...?
Re:Axios Compromised on NPM – Malicious Versions Drop Remote... by aorth on Friday April 03, 2026 @02:36PM (#47630323)
What version of npm has this? This isn't working for me on npm 11.6.2 (Node v24):

  ~/.npmrc
  min-release-age=7 # days