lab
Test utility
83
Versions
BSD-3-Clause
License
No
Install Scripts
Missing
Provenance
Supply chain provenance
Status for the latest visible version.
No SLSA provenance
npm registry signatures
gitHead linked
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
hueniversemarsupnlfwyatt
Keywords
test
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| provenance | no-provenance | AI (provenance): Established package with 4795 days history and strong publisher track record; provenance attestation is nice-to-have but not required for approval. | ai | |
| dependencies | unvetted-dep:handlebars | AI (dependencies): handlebars is a well-known templating library; its use in lab (a test utility) is expected and benign across versions. | ai | |
| semgrep | semgrep:base64-decode | AI (semgrep): Base64 decoding is used to parse inline source maps in coverage processing — standard, expected behavior for a test/coverage tool. | ai | |
| provenance | publisher-changed | AI (provenance): hueniverse is the original hapi.js ecosystem author; the 2019 transition from wyatt back to hueniverse is a legitimate maintainer change, not a compromise. | ai | |
| phantom-deps | phantom-dep:eslint-plugin-hapi | AI (phantom-deps): eslint-plugin-hapi is declared as a direct dependency in package.json; the phantom-dep finding is a false positive. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): child_process is used in lib/lint.js to run ESLint as a subprocess — expected behavior for a test runner with integrated linting support. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic require is used to load a local .labrc config file via find-rc — standard test runner configuration loading, not arbitrary code execution risk. | ai |
Versions (showing 83 of 183)
| Version | Deps | Published |
|---|---|---|
| 5.11.0 | 11 / 2 | |
| 5.10.0 | 11 / 2 | |
| 5.9.0 | 11 / 2 | |
| 5.8.1 | 11 / 2 | |
| 5.8.0 | 11 / 2 | |
| 5.7.0 | 11 / 2 | |
| 5.6.1 | 11 / 2 | |
| 5.6.0 | 11 / 2 | |
| 5.5.1 | 10 / 2 | |
| 5.5.0 | 10 / 2 | |
| 5.4.0 | 10 / 1 | |
| 5.3.0 | 9 / 1 | |
| 5.2.1 | 9 / 1 | |
| 5.2.0 | 9 / 1 | |
| 5.1.1 | 8 / 1 | |
| 5.1.0 | 8 / 1 | |
| 5.0.3 | 8 / 1 | |
| 5.0.2 | 8 / 1 | |
| 5.0.1 | 8 / 1 | |
| 5.0.0 | 8 / 2 | |
| 4.7.0 | 9 / 1 | |
| 4.6.2 | 9 / 1 | |
| 4.5.2 | 7 / 1 | |
| 4.5.1 | 7 / 0 | |
| 4.5.0 | 7 / 0 | |
| 4.4.4 | 6 / 0 | |
| 4.4.3 | 6 / 0 | |
| 4.4.2 | 6 / 0 | |
| 4.4.1 | 6 / 0 | |
| 4.4.0 | 6 / 0 | |
| 4.3.0 | 6 / 0 | |
| 4.2.0 | 6 / 0 | |
| 4.1.0 | 6 / 0 | |
| 4.0.2 | 6 / 0 | |
| 4.0.1 | 6 / 0 | |
| 4.0.0 | 6 / 0 | |
| 3.2.3 | 6 / 0 | |
| 3.2.1 | 6 / 0 | |
| 3.2.0 | 6 / 0 | |
| 3.1.4 | 6 / 0 | |
| 3.1.3 | 6 / 0 | |
| 3.1.2 | 6 / 0 | |
| 3.1.1 | 6 / 0 | |
| 3.1.0 | 6 / 0 | |
| 3.0.1 | 6 / 0 | |
| 3.0.0 | 6 / 0 | |
| 2.0.2 | 6 / 0 | |
| 2.0.1 | 6 / 0 | |
| 2.0.0 | 6 / 0 | |
| 1.9.0 | 6 / 0 | |
| 1.8.0 | 6 / 0 | |
| 1.7.1 | 6 / 0 | |
| 1.7.0 | 6 / 0 | |
| 1.6.0 | 6 / 0 | |
| 1.5.0 | 6 / 0 | |
| 1.4.0 | 6 / 0 | |
| 1.3.0 | 6 / 0 | |
| 1.2.3 | 6 / 0 | |
| 1.2.2 | 6 / 0 | |
| 1.2.1 | 6 / 0 | |
| 1.2.0 | 6 / 0 | |
| 1.1.3 | 6 / 0 | |
| 1.1.2 | 6 / 0 | |
| 1.1.1 | 6 / 0 | |
| 1.1.0 | 6 / 0 | |
| 1.0.0 | 6 / 0 | |
| 0.2.0 | 6 / 0 | |
| 0.1.6 | 6 / 0 | |
| 0.1.5 | 6 / 0 | |
| 0.1.4 | 6 / 0 | |
| 0.1.3 | 6 / 0 | |
| 0.1.2 | 6 / 0 | |
| 0.1.1 | 6 / 0 | |
| 0.1.0 | 6 / 0 | |
| 0.0.8 | 6 / 0 | |
| 0.0.7 | 6 / 0 | |
| 0.0.6 | 6 / 0 | |
| 0.0.5 | 6 / 0 | |
| 0.0.4 | 6 / 0 | |
| 0.0.3 | 6 / 0 | |
| 0.0.2 | 6 / 0 | |
| 0.0.1 | 6 / 0 | |
| 0.0.0 | 0 / 0 |