surge
Static Web Publishing
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 |
|---|---|---|---|---|
| maintainer-change | maintainer-removed | AI (maintainer-change): sintaxi is the original author; removal of kennethormandy appears to be routine maintainer cleanup with no new maintainer added and no other suspicious signals. | ai | |
| phantom-deps | phantom-dep:surge-fstream-ignore | AI (phantom-deps): surge-fstream-ignore is a new runtime dep in this version, referenced in config files; phantom-dep is expected and benign. | ai | |
| publish-pattern | new-deps-added | AI (publish-pattern): surge-ignore is a companion package for surge's ignore-file functionality; addition is contextually appropriate and not suspicious for this deployment CLI tool. | ai | |
| semgrep | semgrep:new-function-constructor | AI (semgrep): new Function is used as a no-op callback placeholder in the help middleware, not for dynamic code compilation. No user-controlled input involved; stable false positive for this package. | ai | |
| dependencies | unvetted-dep:request | AI (dependencies): request is a well-known HTTP client used legitimately by this CLI tool for API calls; consistent with the package's purpose across all versions. | ai | |
| phantom-deps | phantom-dep:tar.gz | AI (phantom-deps): tar.gz is declared in package.json dependencies; minor packaging inconsistency with no security implications. | ai | |
| provenance | no-provenance | AI (provenance): Package is 4297 days old; provenance attestation did not exist when it was published. Not a meaningful security signal for this package. | ai | |
| bogus-package | bogus-package | AI (bogus-package): The empty/tiny payload signals are expected for surge's initial 0.0.0 placeholder version from 2014. The package is a well-established CLI tool with 40k weekly downloads and 98 total versions. | ai | |
| npm-metadata | suspicious-initial-version | AI (npm-metadata): [email protected] is the 11-year-old initial placeholder for the well-known surge CLI tool by sintaxi. The 0.0.0 version is a name-reservation stub, not a malicious package. | ai | |
| source-diff | obfuscated-file:lib/middleware/analytics.js | AI (source-diff): The long-line trigger is a commented-out JSON sample blob in analytics.js, not actual obfuscated logic. The surrounding code is readable and calls surge-sdk normally. False positive for this package. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): The dynamic require loads the package's own package.json via a fixed __dirname-relative path — not arbitrary module loading. Stable false positive for this package. | ai |
Versions (showing 28 of 28)
| Version | Deps | Published |
|---|---|---|
| 0.27.4 | 18 / 3 | |
| 0.27.3 | 18 / 3 | |
| 0.27.2 | 18 / 3 | |
| 0.27.1 | 18 / 3 | |
| 0.27.0 | 18 / 3 | |
| 0.26.0 | 17 / 5 | |
| 0.24.7 | 17 / 5 | |
| 0.23.1 | 15 / 5 | |
| 0.22.1 | 15 / 5 | |
| 0.21.6 | 15 / 5 | |
| 0.21.5 | 15 / 5 | |
| 0.18.0 | 15 / 5 | |
| 0.17.6 | 15 / 5 | |
| 0.15.0 | 15 / 1 | |
| 0.14.3 | 15 / 1 | |
| 0.14.1 | 15 / 1 | |
| 0.14.0 | 15 / 1 | |
| 0.13.0 | 15 / 1 | |
| 0.12.0 | 14 / 1 | |
| 0.11.1 | 15 / 1 | |
| 0.8.0 | 12 / 1 | |
| 0.7.3 | 12 / 1 | |
| 0.7.1 | 12 / 1 | |
| 0.5.2 | 11 / 1 | |
| 0.4.1 | 11 / 1 | |
| 0.4.0 | 11 / 1 | |
| 0.3.1 | 8 / 1 | |
| 0.0.0 | 0 / 0 |
v0.27.4
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.27.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.27.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.27.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.27.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.26.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.24.7
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.23.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.22.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.21.6
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.21.5
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.18.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.17.6
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.15.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.14.3
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.14.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.14.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.13.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.12.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.11.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.8.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.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.
v0.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.
v0.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.
v0.4.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.
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.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.
v0.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.