zxcvbn
realistic password strength estimation
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 |
|---|---|---|---|---|
| source-diff | obfuscated-file:dist/zxcvbn.js | AI (source-diff): Browserify+uglifyify bundle is the standard dist artifact for zxcvbn; long lines are minified output, not obfuscation. | ai | |
| source-diff | obfuscated-file:lib/frequency_lists.js | AI (source-diff): CoffeeScript-compiled password frequency lists (core data for strength estimation); long lines from large array literals, not obfuscation. | ai | |
| semgrep | semgrep:new-function-constructor | AI (semgrep): Fires in demo/jquery.js — bundled jQuery JSON parser fallback, not the library's own code. Stable false positive for this package. | ai | |
| semgrep | semgrep:eval-usage | AI (semgrep): Fires in demo/require.js — RequireJS's documented module execution mechanism in the demo directory, not the library's own code. | ai | |
| provenance | no-provenance | AI (provenance): Established Dropbox package with 1.4M weekly downloads and 4892-day history; lack of Sigstore provenance is not a meaningful risk signal here. | ai |
Versions (showing 19 of 19)
| Version | Deps | Published |
|---|---|---|
| 4.4.2 | 0 / 12 | |
| 4.4.1 | 0 / 12 | |
| 4.4.0 | 0 / 12 | |
| 4.3.0 | 0 / 12 | |
| 4.2.0 | 0 / 12 | |
| 4.1.1 | 0 / 12 | |
| 4.1.0 | 0 / 12 | |
| 4.0.1 | 0 / 12 | |
| 3.5.0 | 0 / 12 | |
| 3.4.0 | 0 / 12 | |
| 3.3.1 | 0 / 11 | |
| 3.3.0 | 0 / 11 | |
| 3.2.2 | 0 / 11 | |
| 3.2.1 | 0 / 11 | |
| 3.2.0 | 0 / 7 | |
| 3.1.0 | 0 / 6 | |
| 3.0.2 | 0 / 5 | |
| 3.0.1 | 0 / 5 | |
| 3.0.0 | 0 / 5 |
v4.4.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v4.4.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v4.4.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v4.3.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v4.2.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v4.1.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v4.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v4.0.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.5.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.4.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.3.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.3.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.2.2
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.2.1
4 findingsNewly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.2.0
3 findingsNewly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.1.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.0.2
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.0.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v3.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.