esbuild
An extremely fast JavaScript and CSS bundler and minifier.
Supply chain provenance
Status for the latest visible version.
Maintainers
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic require resolves package.json from __dirname — a fixed, safe path construction, not arbitrary module loading. | ai | |
| semgrep | semgrep:child-process-spawn | AI (semgrep): esbuild spawns its own binary as a long-lived service process — this is the core architecture of the package. | ai | |
| bogus-package | bogus-package | AI (bogus-package): esbuild is a major ecosystem tool; missing keywords and terse README are not spam signals for this package. | ai | |
| install-scripts | install-script:postinstall | AI (install-scripts): esbuild's postinstall runs node install.js to set up the platform-specific binary — documented, stable behavior across all versions. | ai | |
| semgrep | semgrep:env-spread | AI (semgrep): process.env spread in install.js is used to pass environment to npm subprocess while clearing npm_config_global — legitimate and auditable. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): child_process is used in install.js to invoke npm for fallback binary installation — core to esbuild's install mechanism. | ai |
Versions (showing 15 of 15)
| Version | Deps | Published |
|---|---|---|
| 0.28.0 | 0 / 0 | |
| 0.27.5 | 0 / 0 | |
| 0.27.3 | 0 / 0 | |
| 0.27.0 | 0 / 0 | |
| 0.26.0 | 0 / 0 | |
| 0.25.11 | 0 / 0 | |
| 0.25.10 | 0 / 0 | |
| 0.25.9 | 0 / 0 | |
| 0.25.8 | 0 / 0 | |
| 0.25.7 | 0 / 0 | |
| 0.25.5 | 0 / 0 | |
| 0.25.4 | 0 / 0 | |
| 0.25.2 | 0 / 0 | |
| 0.25.1 | 0 / 0 | |
| 0.25.0 | 0 / 0 |
v0.28.0
3 findingsScript: node install.js
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/evanw/esbuild/blob/6a794dff68e6a43539f6da671e3080efdf11ca70/install.js#L181 179 | } 180 | function installUsingNPM(pkg, subpath, binPath) { > 181 | const env = { ...process.env, npm_config_global: void 0 }; 182 | const esbuildLibDir = path2.dirname(require.resolve("esbuild")); 183 | const installDir = path2.join(esbuildLibDir, "npm-install");
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.27.5
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.27.3
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.27.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.26.0
2 findingsThis version was published by a different npm account than previous versions on 2025-11-09. This could indicate a legitimate maintainer transition or an account compromise.
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.25.11
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.25.10
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.25.9
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.25.8
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.25.7
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.25.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.25.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.25.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.25.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.25.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.