Technologies

GitHub Strengthens npm and GitHub Actions Defenses Against Supply Chain Attacks

GitHub reviewed a set of changes implemented over recent months in npm and GitHub Actions to block common paths used in software supply chain attacks, from compromising developer accounts to stealing credentials and deploying malware.

2026-07-28
4 min read
1,446 views
certi.news Editorial Team
GitHub Strengthens npm and GitHub Actions Defenses Against Supply Chain Attacks

GitHub reviewed security changes implemented over recent months in npm and GitHub Actions to disrupt common techniques in software supply chain attacks and limit their impact. The measures include protecting high-impact npm accounts, tightening the default behavior of Actions workflows, reducing the risk of credential theft, and providing faster tools for incident response.

These steps followed an increase in attacks exploiting weaknesses in package repositories and continuous integration and deployment systems to distribute malware to hundreds of open-source projects. According to Greg Ose and Zachary Steindler, these attacks typically follow a series of stages that begin with initial access to a project, followed by privilege escalation and credential theft, and ultimately spread to other projects and users.

Reducing Opportunities for Initial Compromise

In June 2026, npm placed high-impact accounts in read-only mode for 72 hours when the email address was changed or a token was used to recover two-factor authentication. This window gives account administrators time to detect and respond to phishing attempts before the account is used to launch an attack.

That same month, GitHub changed the default behavior of the actions/checkout action to prevent untrusted code from being fetched from pull requests originating in forked repositories for commonly exploited triggers, with the option to override the restriction after reviewing the risks. The change also covered older versions of the action.

GitHub also made organization-, enterprise-, and repository-level policies available to control which entities are allowed to run workflows and which types of triggers are accepted. In addition, it restricted the ability of less-trusted workflows to modify the cache shared with other workflows, cutting off a path that had been used to move from limited-permission execution to the theft of highly privileged credentials.

Limiting Credential Theft and Malware Propagation

In April 2026, npm added CircleCI support to its trusted publishing feature, allowing projects to publish through a trusted entity instead of using long-lived credentials that attackers can extract from continuous integration environments.

GitHub is also testing a network firewall in technical preview that logs outbound traffic from GitHub Actions jobs. This helps detect behavior such as downloading malicious code or sending credentials to new domains. GitHub plans to later add restrictions and policies for outbound network traffic to prevent these activities.

With the staged publishing feature launched by npm in May 2026, credentials alone are not sufficient to publish a new release immediately; the release remains pending until it is approved and two-factor authentication is completed through the npm interface or npmjs.com.

npm v12 is also preparing a breaking change that will disable lifecycle scripts during installation by default, while allowing specific scripts to be re-enabled after approval. Dependencies that rely on Git repositories or remote URLs will also be disabled by default, limiting code execution paths during installation.

Delaying Non-Security Updates and Improving Response

Starting in July 2026, version updates through Dependabot began waiting at least three days after a package was released before opening a pull request. This gives detection signals time to emerge before a malicious release reaches projects, while security updates continue to open immediately so that critical fixes are not delayed.

On the response side, GitHub added self-service tools in June to revoke all credentials for a specific user within an organization. In March, it also expanded support for its credential-revocation API to include GitHub OAuth tokens and App Tokens, after support for personal access tokens was introduced in April 2025. GitHub says these capabilities help quickly invalidate leaked credentials and reduce the period during which they can be misused.

GitHub confirmed that these changes are part of ongoing work to make npm and GitHub Actions more secure by default, with additional improvements continuing to roll out and being tracked through the changelog and blog posts.

News source
c
Author

certi.news Editorial Team

What you need to know

GitHub outlines a series of security changes in npm and GitHub Actions to disable common paths for software supply chain attacks, including account compromise, credential theft, and malware distribution. The measures include tightening default settings, trusted and staged publishing, network traffic monitoring, and improved credential revocation.

  • npm placed high-impact accounts in read-only mode for 72 hours when the email address is changed or a two-factor authentication recovery code is used.
  • GitHub changed the default behavior of the actions/checkout action to prevent untrusted code from pull requests originating from forked repositories from being fetched in certain triggers.
  • npm added CircleCI support to its trusted publishing feature and launched staged publishing, which requires approval and two-factor authentication before a release is published.
  • GitHub is testing a network firewall to log outbound traffic from GitHub Actions jobs, with plans to add restrictions on egress traffic.
  • npm v12 is preparing to disable install scripts and remote dependencies by default, with the option to allow them after review.
  • GitHub added tools to quickly revoke user credentials and tokens, while Dependabot delays non-security package updates by at least three days.

FAQ

What is the goal of the GitHub and npm changes?

To disable common techniques used in software supply chain attacks and reduce the risks of account compromise, credential theft, and malware distribution.

What does staged publishing do in npm?

It keeps a release in a pending stage after it is uploaded and does not allow it to be published directly based on credentials alone, as it requires approval and completion of two-factor authentication.

What will change in npm v12?

Install scripts and dependencies based on Git repositories or remote URLs will be disabled by default, with the option to re-enable specific items after approval.

Why does Dependabot delay non-security package updates?

To give detection systems time to identify malicious releases before they reach projects, while security updates continue to open immediately.

In the same category

You may also like

View all news