browserslist
Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset
Supply chain provenance
Status for the latest visible version.
Without SLSA provenance there is no cryptographic link between this tarball and the public source — the axios compromise (March 2026) relied on exactly this gap.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| provenance | missing-githead | AI (provenance): browserslist is a well-established package; missing gitHead likely reflects a CI/CD environment change, not a supply chain compromise. No other corroborating malicious signals present. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): child_process is used in update-db.js for the documented --update-db CLI feature; not a covert or install-time execution. Stable and expected for this package. | ai | |
| source-diff | source-size-tripled | AI (source-diff): Size increase from v3 to v4 reflects addition of caniuse-lite browser data and companion ecosystem packages (node-releases, electron-to-chromium, update-browserslist-db). Legitimate major version growth, not injected payload. | ai | |
| provenance | no-provenance | AI (provenance): Provenance attestation is a best-practice recommendation; absence is not a security blocker for established packages. | ai | |
| publish-pattern | new-deps-added | AI (publish-pattern): New dependencies (node-releases, update-browserslist-db) are established packages serving core functionality; no suspicious patterns. | ai | |
| maintainer-change | maintainer-removed | AI (maintainer-change): Original author (ai) remains as publisher; removal of co-maintainer is normal administrative change, not takeover. | ai | |
| dependencies | unvetted-dep:caniuse-db | AI (dependencies): caniuse-db is the canonical browser compatibility data source; required for browserslist's documented functionality. | ai | |
| dependencies | unvetted-dep:update-browserslist-db | AI (dependencies): update-browserslist-db is a stable, long-standing dependency of browserslist; unvetted status is acceptable for this established package. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic require is scoped to load JSON data files from caniuse-db's region-usage-json directory; legitimate for browserslist's core functionality. | ai |
Versions (showing 42 of 142)
| Version | Deps | Published |
|---|---|---|
| 2.1.2 | 2 / 7 | |
| 2.1.1 | 2 / 7 | |
| 2.1.0 | 2 / 7 | |
| 2.0.0 | 2 / 7 | |
| 1.7.7 | 2 / 6 | |
| 1.7.6 | 2 / 6 | |
| 1.7.5 | 2 / 6 | |
| 1.7.4 | 2 / 6 | |
| 1.7.3 | 2 / 6 | |
| 1.7.2 | 2 / 6 | |
| 1.7.1 | 2 / 6 | |
| 1.7.0 | 2 / 6 | |
| 1.6.0 | 2 / 6 | |
| 1.5.2 | 1 / 6 | |
| 1.5.1 | 1 / 6 | |
| 1.5.0 | 1 / 6 | |
| 1.4.0 | 1 / 3 | |
| 1.3.6 | 1 / 3 | |
| 1.3.5 | 1 / 3 | |
| 1.3.4 | 1 / 3 | |
| 1.3.3 | 1 / 3 | |
| 1.3.2 | 1 / 3 | |
| 1.3.1 | 1 / 3 | |
| 1.3.0 | 1 / 3 | |
| 1.2.0 | 1 / 3 | |
| 1.1.3 | 1 / 3 | |
| 1.1.2 | 1 / 3 | |
| 1.1.1 | 1 / 2 | |
| 1.1.0 | 1 / 2 | |
| 1.0.1 | 1 / 5 | |
| 1.0.0 | 1 / 5 | |
| 0.5.0 | 1 / 5 | |
| 0.4.0 | 1 / 5 | |
| 0.3.3 | 1 / 5 | |
| 0.3.2 | 1 / 5 | |
| 0.3.1 | 1 / 6 | |
| 0.3.0 | 1 / 6 | |
| 0.2.0 | 1 / 6 | |
| 0.1.3 | 1 / 6 | |
| 0.1.2 | 1 / 6 | |
| 0.1.1 | 1 / 6 | |
| 0.1.0 | 1 / 6 |
v1.7.6
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.7.5
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.7.4
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.7.3
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.7.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.7.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.6.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.5.2
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.5.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.5.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.4.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.3.6
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.3.4
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.3.2
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.3.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.3.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.1.3
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.1.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.1.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v1.0.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.5.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.3
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.2
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.