expect
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
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| install-scripts | install-script:postinstall | AI (install-scripts): Postinstall script is minimal and auditable; stable pattern for this assertion library package. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): child_process import in postinstall is used for build automation, not malicious code execution or data exfiltration. | ai | |
| source-diff | obfuscated-file:build-es5/index.js | AI (source-diff): build-es5/index.js is a legitimate UMD browser bundle (rollup/webpack output with core-js polyfills) explicitly referenced in package.json's 'browser' field. Not obfuscation. | ai | |
| phantom-deps | phantom-dep:jest-regex-util | AI (phantom-deps): jest-regex-util is explicitly declared in package.json dependencies and is a legitimate Jest monorepo sub-package; false positive for this package. | ai | |
| semgrep | semgrep:new-function-constructor | AI (semgrep): new Function() in Jest's ES5 browser build is a standard callback coercion pattern in a testing library; input is controlled by the test author, not external parties. | ai | |
| source-diff | net-exec-file:umd/expect.min.js | AI (source-diff): Standard webpack UMD minified bundle produced by documented build scripts. The 'network calls' and 'dynamic code execution' are webpack's module system boilerplate, not malware. Identical pattern to already-accepted umd/expect.js. | ai | |
| source-diff | large-new-source-files | AI (source-diff): Package growth over time; 24 new files reflect normal refactoring, not injection. | ai | |
| source-diff | net-exec-file:umd/expect.js | AI (source-diff): File is webpack-bundled UMD output with standard module-loading boilerplate, not malware. Minified bundles inherently contain dynamic code patterns. | ai | |
| publish-pattern | new-deps-added | AI (publish-pattern): New deps (is-regexp, deep-equal, object-inspect) are established utility packages. | ai | |
| provenance | publisher-changed | AI (provenance): Historical transition in 2015; mjackson has maintained the package cleanly for nearly a decade. | ai | |
| maintainer-change | maintainer-added | AI (maintainer-change): New maintainers are Facebook/Jest core team members (cpojer, dmitriiabramov, fb, etc.) — legitimate transfer. | ai | |
| source-diff | source-size-tripled | AI (source-diff): Size increase reflects legitimate package maturation and feature additions. | ai | |
| maintainer-change | maintainer-removed | AI (maintainer-change): Original placeholder maintainer removed as part of legitimate Facebook/Jest namespace acquisition. | ai | |
| source-diff | net-exec-file:build-es5/index.js | AI (source-diff): Same UMD browser bundle; network/exec patterns are from bundled browser polyfills (core-js), not malicious dropper behavior. | ai | |
| maintainer-change | maintainer-takeover | AI (maintainer-change): Transition occurred in 2015 (9 years ago); mjackson is established publisher with strong track record. | ai | |
| npm-metadata | suspicious-initial-version | AI (npm-metadata): 0.0.0 is the legitimate initial release of a 14-year-old test library with 257 subsequent versions; not a malicious throwaway package. | ai | |
| dependencies | unvetted-dep:jest-util | AI (dependencies): jest-util is a sibling Jest monorepo package released in lockstep; its presence as a dependency of expect is expected and legitimate. | ai | |
| dependencies | unvetted-dep:jest-mock | AI (dependencies): jest-mock is a sibling Jest monorepo package released in lockstep; its presence as a dependency of expect is expected and legitimate. | ai | |
| bogus-package | bogus-package | AI (bogus-package): expect is a core Jest monorepo package with 257 versions and 5258 days of history; bogus-package signals are false positives for this well-known sub-package. | ai | |
| dependencies | unvetted-dep:jest-message-util | AI (dependencies): jest-message-util is a sibling Jest monorepo package released in lockstep; its presence as a dependency of expect is expected and legitimate. | ai | |
| npm-metadata | no-description | AI (npm-metadata): Missing description is typical of Jest monorepo sub-packages; not a malicious indicator for this established package. | ai |
Versions (showing 51 of 157)
| Version | Deps | Published |
|---|---|---|
| 30.4.1 | 6 / 4 | |
| 30.4.0 | 6 / 4 | |
| 30.3.0 | 6 / 4 | |
| 30.2.0 | 6 / 4 | |
| 30.1.2 | 6 / 4 | |
| 30.1.1 | 6 / 4 | |
| 30.1.0 | 6 / 4 | |
| 30.0.5 | 6 / 4 | |
| 30.0.4 | 6 / 4 | |
| 30.0.3 | 6 / 4 | |
| 30.0.2 | 6 / 4 | |
| 30.0.1 | 6 / 4 | |
| 30.0.0 | 6 / 4 | |
| 29.7.0 | 5 / 6 | |
| 29.6.4 | 5 / 6 | |
| 29.6.3 | 5 / 6 | |
| 29.6.2 | 6 / 6 | |
| 29.6.1 | 6 / 6 | |
| 29.6.0 | 6 / 6 | |
| 29.5.0 | 5 / 6 | |
| 29.4.3 | 5 / 6 | |
| 29.4.2 | 5 / 6 | |
| 29.4.1 | 5 / 6 | |
| 29.4.0 | 5 / 6 | |
| 29.3.1 | 5 / 6 | |
| 29.3.0 | 5 / 6 | |
| 29.2.2 | 5 / 6 | |
| 29.2.1 | 5 / 6 | |
| 29.2.0 | 5 / 6 | |
| 29.1.2 | 5 / 6 | |
| 29.1.0 | 5 / 6 | |
| 29.0.3 | 5 / 6 | |
| 29.0.2 | 5 / 6 | |
| 29.0.1 | 5 / 6 | |
| 29.0.0 | 5 / 6 | |
| 28.1.3 | 5 / 6 | |
| 28.1.1 | 5 / 6 | |
| 28.1.0 | 5 / 6 | |
| 28.0.2 | 5 / 6 | |
| 28.0.1 | 5 / 6 | |
| 28.0.0 | 4 / 6 | |
| 27.5.1 | 4 / 6 | |
| 27.5.0 | 4 / 6 | |
| 27.4.6 | 4 / 4 | |
| 27.4.2 | 6 / 5 | |
| 27.4.1 | 6 / 5 | |
| 27.4.0 | 6 / 4 | |
| 27.3.1 | 6 / 4 | |
| 27.3.0 | 6 / 4 | |
| 27.2.5 | 6 / 4 | |
| 27.2.4 | 6 / 4 |
v30.4.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v30.4.0
2 findingsPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
[Accepted risk] This version was published by a different npm account than previous versions on 2026-05-07. This could indicate a legitimate maintainer transition or an account compromise.
v30.2.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v30.1.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v30.1.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v30.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v30.0.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v30.0.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v30.0.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v30.0.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v30.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v30.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v29.7.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.6.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.6.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.6.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.6.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.6.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.5.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.4.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.4.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.4.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.4.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.3.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.3.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.2.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.2.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.2.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.1.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.0.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v29.0.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v29.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v29.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v28.1.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v28.1.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v28.1.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v28.0.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v28.0.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v28.0.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.5.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.5.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.4.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.4.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.4.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.4.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.3.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.3.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.2.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v27.2.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.