GitHub has rolled out new controls for npm to enhance the safety of the software program provide chain, giving maintainers the power to explicitly approve a launch previous to the packages changing into publicly accessible for set up.
Known as staged publishing, the characteristic is now usually accessible on npm. It mandates {that a} human maintainer move a two-factor authentication (2FA) problem to approve a package deal earlier than it’s pushed to the npmjs[.]com.
“As a substitute of a direct publish that instantly makes a package deal model accessible 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 stated.
The Microsoft-owned subsidiary stated the change ensures “proof of presence” for each publish, together with those who come from non-interactive CI/CD workflows and trusted publishing with OpenID Join (OIDC) authentication.
Earlier than utilizing staged publishing, package deal maintainers have to satisfy the next standards –
- Have publish entry to the package deal
- Bundle already exists on the npm registry, which means a model new package deal can’t be staged
- 2FA is enabled for the account
Builders can use the command “npm stage publish” from the foundation listing of the package deal 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 enable builders to “apply the identical explicit-allowlist strategy to each non-registry set up supply,” GitHub stated.
The event comes amid a large surge in software program provide chain assaults concentrating on open-source ecosystems over the previous few months, with one cybercriminal group generally known as TeamPCP partaking in poisoning well-liked packages at an unprecedented scale by means of a self-perpetuating cycle of compromises.








