GitHub has rolled out new controls for npm to enhance the safety of the software program provide chain, giving maintainers the flexibility to explicitly approve a launch previous to the packages changing into publicly out there for set up.
Referred to as staged publishing, the characteristic is now typically out there on npm. It mandates {that a} human maintainer go a two-factor authentication (2FA) problem to approve a bundle earlier than it’s pushed to the npmjs[.]com.
“As a substitute of a direct publish that instantly makes a bundle model out there to shoppers, the prebuilt tarball is uploaded to a stage queue the place a maintainer should explicitly approve it earlier than it turns into installable,” GitHub mentioned.
The Microsoft-owned subsidiary mentioned the change ensures “proof of presence” for each publish, together with people who come from non-interactive CI/CD workflows and trusted publishing with OpenID Join (OIDC) authentication.
Earlier than utilizing staged publishing, bundle maintainers have to satisfy the next standards –
- Have publish entry to the bundle
- Package deal already exists on the npm registry, which means a model new bundle can’t be staged
- 2FA is enabled for the account
Builders can use the command “npm stage publish” from the foundation listing of the bundle to submit it to a staging space. To make use of this command, it is important to replace to npm CLI 11.15.0 or newer. For optimum safety, GitHub is recommending that staged publishing be paired with trusted publishing utilizing OIDC.
A second replace centered on npm pertains to the introduction of three new set up supply flags alongside the present -allow-git flag –
- –allow-file: Controls installs from native file paths and native tarballs
- –allow-remote: Controls installs from distant URLs, together with https tarballs
- –allow-directory: Controls installs from native directories
The flags permit builders to “apply the identical explicit-allowlist method to each non-registry set up supply,” GitHub mentioned.
The event comes amid a huge surge in software program provide chain assaults focusing on open-source ecosystems over the previous few months, with one cybercriminal group often known as TeamPCP poisoning widespread packages at an unprecedented scale by a self-perpetuating cycle of compromises.

