brittle
A TAP test runner built for modern times
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 |
|---|---|---|---|---|
| publish-pattern | dormant-publish | AI (publish-pattern): Major version rewrite for Bare runtime support; SLSA provenance confirms legitimate CI/CD publish. | ai | |
| phantom-deps | phantom-dep:bare-buffer | AI (phantom-deps): bare-buffer is a Bare runtime polyfill referenced via package.json imports map, not direct require; stable pattern for this package. | ai | |
| publish-pattern | new-deps-added | AI (publish-pattern): New deps are all holepunchto/Bare ecosystem packages matching the stated v4 Bare runtime support goal. | ai | |
| maintainer-change | maintainer-removed | AI (maintainer-change): Org transitioned to GitHub Actions CI/CD publishing; consistent with holepunchto's workflow across their packages. | ai | |
| dependencies | unvetted-dep:globbie | AI (dependencies): holepunchto ecosystem dep consistent with this test runner's glob functionality; stable pattern across versions. | ai | |
| dependencies | unvetted-dep:bare-cov | AI (dependencies): bare-cov is a holepunchto coverage tool; expected dependency for a test runner targeting Bare runtime. | ai | |
| provenance | publisher-changed | AI (provenance): mafintosh is a co-maintainer in the holepunchto org; legitimate handoff. | ai | |
| phantom-deps | phantom-dep:bare-assert | AI (phantom-deps): Declared in package.json imports map as Bare runtime polyfill alias; not a direct import. | ai | |
| phantom-deps | phantom-dep:bare-fs | AI (phantom-deps): Declared in package.json imports map as Bare runtime polyfill alias; not a direct import. | ai | |
| phantom-deps | phantom-dep:bare-os | AI (phantom-deps): Declared in package.json imports map as Bare runtime polyfill alias; not a direct import. | ai | |
| phantom-deps | phantom-dep:bare-url | AI (phantom-deps): Declared in package.json imports map as Bare runtime polyfill alias; not a direct import. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): CLI binary uses child_process to delegate to bare runtime; documented shim pattern, not arbitrary code execution. | ai | |
| phantom-deps | phantom-dep:bare-subprocess | AI (phantom-deps): Used via package.json imports map for Bare runtime; not directly imported in JS but legitimately declared. | ai | |
| phantom-deps | phantom-dep:bare-process | AI (phantom-deps): Used via package.json imports map for Bare runtime; not directly imported in JS but legitimately declared. | ai | |
| phantom-deps | phantom-dep:bare-path | AI (phantom-deps): Used via package.json imports map for Bare runtime; not directly imported in JS but legitimately declared. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): requireIfNode helper guards require() behind IS_NODE check; stable false positive for this package. | ai |
Versions (showing 9 of 9)
| Version | Deps | Published |
|---|---|---|
| 4.0.0 | 19 / 5 | |
| 3.19.1 | 15 / 3 | |
| 3.19.0 | 15 / 3 | |
| 3.18.6 | 15 / 3 | |
| 3.18.0 | 12 / 3 | |
| 3.17.1 | 12 / 3 | |
| 3.17.0 | 11 / 3 | |
| 3.16.4 | 11 / 3 | |
| 3.16.3 | 11 / 3 |
v4.0.0
2 findingsPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
[Accepted risk] This version was published by a different npm account than previous versions on 2026-05-19. This could indicate a legitimate maintainer transition or an account compromise.
v3.19.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v3.19.0
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (davidmarkclements) than the most recent previously approved version (mafintosh) on 2025-09-19, but davidmarkclements is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v3.18.6
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v3.18.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.17.1
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (davidmarkclements) than the most recent previously approved version (mafintosh) on 2025-08-04, but davidmarkclements is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v3.17.0
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (davidmarkclements) than the most recent previously approved version (mafintosh) on 2025-07-23, but davidmarkclements is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v3.16.4
2 findingsThis version was published by a different npm account than previous versions on 2025-07-07. This could indicate a legitimate maintainer transition or an account compromise.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.16.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.