In the last years, supply chain attacks have increased dramatically. A few examples in the VS Code extension ecosystem:
Allow for minimumReleaseAge-style security config from other package managers / updaters, to require a minimum age on VS Code extensions before they are installed (also when installed via CLI, etc) when either:
- Installing the latest version
- Updating an extension manually
- Updating an extension automatically
Default: Also, similar to the pnpm v11 note in Prior Art below, consider making a small delay the default (somewhere between 1 and 3 days), so that there is time for:
- security scanners such as Socket to find and report malicious extensions
- VS Code Marketplace and OpenVSX to remove the malicious extensions
Exclude mechanism: There should be a way of excluding certain package names, package name patterns and publishers from the minimumReleaseAge setting, eg. like the pnpm minimumReleaseAgeExclude setting.
Centralized management via enterprise policy: Some users have commented that a centralized management via eg. GPO or MDM would be helpful:
@SherwoodFold in comment 4510110043: Additionally, this setting needs to be manageable by MDM profiles/configs so admins can actually manage their org's exposure.
@HendrikJan opened a similar issue #272765 which collected 12 upvotes. It was marked as a duplicate of #79689, but #79689 is not related to security (and is closed).
Prior Art
- JavaScript / TypeScript package managers
- CI update bots / update tools
- Other package managers
A lot of these have appeared lately because of the supply chain attacks over the last years.
Default: pnpm v11 recently changed the default to 1-day minimumReleaseAge without any configuration:
Supply-chain protection on by default. minimumReleaseAge defaults to 1440 (1 day)
Source: https://pnpm.io/blog/releases/11.0
In the last years, supply chain attacks have increased dramatically. A few examples in the VS Code extension ecosystem:
Allow for
minimumReleaseAge-style security config from other package managers / updaters, to require a minimum age on VS Code extensions before they are installed (also when installed via CLI, etc) when either:Default: Also, similar to the pnpm v11 note in Prior Art below, consider making a small delay the default (somewhere between 1 and 3 days), so that there is time for:
Exclude mechanism: There should be a way of excluding certain package names, package name patterns and publishers from the
minimumReleaseAgesetting, eg. like the pnpmminimumReleaseAgeExcludesetting.Centralized management via enterprise policy: Some users have commented that a centralized management via eg. GPO or MDM would be helpful:
@HendrikJan opened a similar issue #272765 which collected 12 upvotes. It was marked as a duplicate of #79689, but #79689 is not related to security (and is closed).
Prior Art
min-release-agenpmMinimalAgeGateminimumReleaseAgeminimumReleaseAge--minimum-dependency-agecooldownminimumReleaseAge--cooldown--uploaded-prior-toexclude-newer--index-state(only absolute timestamps)A lot of these have appeared lately because of the supply chain attacks over the last years.
Default: pnpm v11 recently changed the default to 1-day
minimumReleaseAgewithout any configuration:Source: https://pnpm.io/blog/releases/11.0