vows
Asynchronous BDD & continuous integration for node.js
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 | publisher-changed | AI (provenance): Publisher change indexzero→mmalecki occurred in Feb 2012 (~13 years ago); well-documented legitimate maintainer transition for this package. | ai | |
| maintainer-change | maintainer-added | AI (maintainer-change): mmalecki is a long-standing, trusted npm publisher (first seen 5253 days ago, 559 approved packages); addition reflects the same 2012 transition. | ai | |
| source-diff | obfuscated-file:coverage/lcov-report/prettify.js | AI (source-diff): This is Google's prettify.js syntax highlighter, a well-known minified library bundled as part of LCOV HTML coverage reports. It is a test artifact, not malicious code. | ai | |
| typosquat | typosquat.levenshtein:cors | AI (typosquat): vows is a long-established BDD testing framework with no relation to cors; the name similarity is purely coincidental and not a typosquat. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic require in vows loads from a fixed local './reporters/' subdirectory based on user config — this is intentional reporter plugin loading, not arbitrary code execution. | ai | |
| phantom-deps | phantom-dep:glob | AI (phantom-deps): glob is a declared runtime dependency used in CLI/config context; phantom-dep false positive for this package. | ai |
Versions (showing 33 of 33)
| Version | Deps | Published |
|---|---|---|
| 0.8.3 | 3 / 0 | |
| 0.8.2 | 3 / 0 | |
| 0.8.1 | 3 / 0 | |
| 0.8.0 | 3 / 0 | |
| 0.7.0 | 2 / 0 | |
| 0.6.4 | 2 / 0 | |
| 0.6.3 | 1 / 0 | |
| 0.6.2 | 1 / 0 | |
| 0.6.1 | 1 / 0 | |
| 0.6.0 | 1 / 0 | |
| 0.5.13 | 1 / 0 | |
| 0.5.12 | 1 / 0 | |
| 0.5.11 | 1 / 0 | |
| 0.5.10 | 1 / 0 | |
| 0.5.9 | 1 / 0 | |
| 0.5.8 | 1 / 0 | |
| 0.5.6 | 1 / 0 | |
| 0.5.5 | 1 / 0 | |
| 0.5.0 | 1 / 0 | |
| 0.4.6 | 1 / 0 | |
| 0.4.5 | 1 / 0 | |
| 0.4.4 | 1 / 0 | |
| 0.4.3 | 1 / 0 | |
| 0.4.2 | 1 / 0 | |
| 0.4.1 | 1 / 0 | |
| 0.4.0 | 1 / 0 | |
| 0.3.5 | 1 / 0 | |
| 0.3.4 | 1 / 0 | |
| 0.3.3 | 1 / 0 | |
| 0.3.2 | 1 / 0 | |
| 0.3.1 | 1 / 0 | |
| 0.3.0 | 1 / 0 | |
| 0.2.5 | 1 / 0 |
v0.8.3
2 findingsThis version was published by a different npm account than previous versions on 2019-10-15. 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.
v0.8.2
3 findingsThis version was published by a different npm account than previous versions on 2018-05-15. This could indicate a legitimate maintainer transition or an account compromise.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.8.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.8.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.7.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.2
2 findingsThis version was published by a different npm account than previous versions on 2012-02-24. 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.
v0.6.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.6.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.13
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.12
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.11
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.10
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.9
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.8
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.5.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.6
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.5
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.4
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.4.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.5
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.4
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.2.5
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.