pica
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 | encoded-string-file:dist/pica.mjs | AI (source-diff): Same inline WASM pattern as other dist files. | ai | |
| source-diff | encoded-string-file:dist/pica_main.js | AI (source-diff): Base64-encoded WASM binaries for image processing kernels; standard pattern for this package. | ai | |
| source-diff | encoded-string-file:dist/pica_worker.js | AI (source-diff): Same inline WASM pattern as other dist files. | ai | |
| source-diff | encoded-string-file:dist/pica_main.mjs | AI (source-diff): Same inline WASM pattern as other dist files. | ai | |
| source-diff | encoded-string-file:dist/pica.min.mjs | AI (source-diff): Minified dist bundle with inline WASM; stable for this package. | ai | |
| phantom-deps | phantom-dep:glur | AI (phantom-deps): Bundled into dist at build time; declared dep is correct. | ai | |
| phantom-deps | phantom-dep:multimath | AI (phantom-deps): Bundled into dist at build time; declared dep is correct. | ai | |
| source-diff | obfuscated-file:dist/pica.mjs | AI (source-diff): Standard bundled dist output from build tooling; not obfuscated. | ai | |
| source-diff | encoded-string-file:dist/pica.js | AI (source-diff): Base64-encoded WASM for image processing (unsharp mask, blur); expected for this package. | ai | |
| source-diff | encoded-string-file:dist/pica.min.js | AI (source-diff): Minified dist bundle with embedded WASM; standard for this package. | ai | |
| publish-pattern | dormant-publish | AI (publish-pattern): Same long-standing maintainer (vitaly/puzrin); major version bump after long dev cycle is normal. | ai | |
| typosquat | typosquat.levenshtein:pino | AI (typosquat): pica is a well-established image resizing library with 4000+ days of history; the Levenshtein proximity to 'pino' is coincidental and not a typosquat. | ai |
Versions (showing 4 of 4)
| Version | Deps | Published |
|---|---|---|
| 10.0.1 | 2 / 16 | |
| 10.0.0 | 2 / 16 | |
| 9.0.1 | 4 / 14 | |
| 7.1.1 | 5 / 14 |
v10.0.1
6 findingsModified file contains 3 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 3 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 3 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 6 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 3 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v10.0.0
4 findingsNewly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
Modified file contains 3 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Modified file contains 6 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v9.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v7.1.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.