Skip to main content

GitHub package firewall in public preview

By Steven Van ·

Free in preview for GitHub Enterprise Cloud, it blocks risky npm packages using malware advisories, cooldowns and attestation checks.

GitHub Enterprise Cloud customers can now try a GitHub package firewall that checks dependency installs before they reach CI runners, coding agents or developer machines. It is in public preview. GitHub says a growing number of malware attacks exploit systems at install time, harvesting credentials without running the package's code.

How it works

The firewall sits between endpoints and the upstream package registries. It inspects both metadata requests and package downloads, and blocks downloads that fail the enterprise's policy. Administrators set the policy first. Endpoints are then configured to request packages through the firewall's enterprise-specific URL instead of the public registry. Each request needs a token from a user or bot account in the enterprise, and read-only access to public repositories is enough.

Policy controls

  • Block known malware: blocks packages with an active malware advisory in the GitHub Advisory Database. On by default.
  • Block vulnerability advisories: blocks by minimum severity, from critical only to any severity. Defaults to critical only.
  • Block attestation downgrades: blocks a version that lacks SLSA attestations when earlier versions had them. On by default.
  • Block newly-introduced install scripts: blocks packages that recently added preinstall or postinstall scripts. On by default.
  • Minimum package age: a cooldown of 1 to 365 days for new versions, or 0 to disable. The default is 1 day.

Enterprise administrators and enterprise security managers can configure these under Policies, then Package firewall. A custom role with the "Edit enterprise-level package firewall policy" permission can also manage the policy.

Setup and exceptions

For npm, the registry and auth token are set in the user-level .npmrc file. JFrog Artifactory can also fetch through the firewall via a remote npm repository, though GitHub marks that support as experimental.

When a package is blocked, the npm or CI output includes a URL for requesting an exception. Administrators and security managers review requests, can widen an approval to all versions of a package, and can later remove overrides from the policy.

Availability

The preview covers all GitHub Enterprise Cloud customers, including data-resident GitHub Enterprise Cloud. It is free during the preview. At general availability it will be charged on metered usage, similar to Actions billing. Only npm packages are supported for now.

GitHub
GitHub
Where the world builds software — Git hosting, pull requests, issues, Actions CI/CD, and Copilot, free for public and private repos.
View GitHub →

Original source

Read GitHub package firewall in public preview on Creators Toolbox