qrcode
QRCode / 2d Barcode api with both server side and client side support using canvas
Supply chain provenance
Status for the latest visible version.
Without SLSA provenance there is no cryptographic link between this tarball and the public source, so a manually published version cannot be tied back to a reviewed commit.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| source-diff | large-new-source-files | AI (source-diff): New files are browserify build artifacts (build/ directory) generated by the documented prepublish script. Legitimate for a QR code library adding browser support. | ai | |
| source-diff | obfuscated-file:build/qrcode.tosjis.js | AI (source-diff): File is a browserify bundle containing SJIS/kanji character mapping tables for QR code encoding. Content is legitimate and expected. | ai | |
| source-diff | obfuscated-file:build/qrcode.js | AI (source-diff): File is a standard browserify UMD bundle with visible QR code logic. Minification is expected from the uglify-js devDep and build pipeline. | ai | |
| source-diff | source-size-tripled | AI (source-diff): Size increase is fully explained by addition of browserify build artifacts in build/ directory. | ai | |
| dependencies | unvetted-dep:canvas | AI (dependencies): Canvas is a canonical Node.js graphics library; its use in a QR code package is expected and stable. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): child_process is used in build.js (build-time script), not runtime code; legitimate for asset generation in graphics libraries. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic requires use __dirname for local module loading; standard pattern in build/library code. | ai | |
| provenance | publisher-changed | AI (provenance): soldair (Ryan Day) is the original author of node-qrcode; the transition from vigreco back to soldair is a legitimate maintainer handoff, not a compromise. Stable for this package. | ai | |
| publish-pattern | new-deps-added | AI (publish-pattern): New dependencies (canvas, bops, colors) are established packages directly supporting canvas-based QR code generation. | ai | |
| dependencies | unvetted-dep:pngjs | AI (dependencies): pngjs is a well-known, legitimate PNG library used for server-side QR code rendering; stable dependency for this package. | ai | |
| dependencies | unvetted-dep:encode-utf8 | AI (dependencies): encode-utf8 is a small, legitimate utility for UTF-8 encoding; appropriate and stable dependency for QR code generation. | ai | |
| dependencies | unvetted-dep:dijkstrajs | AI (dependencies): dijkstrajs is a well-known shortest-path algorithm library used in QR code encoding; stable and legitimate dependency for this package. | ai | |
| dependencies | unvetted-dep:can-promise | AI (dependencies): can-promise is a well-known, benign utility for Promise detection; its use in qrcode for Promise-based API support is legitimate and expected. | ai | |
| provenance | no-provenance | AI (provenance): Package predates Sigstore adoption; absence of provenance is common and expected for older packages. | ai | |
| phantom-deps | phantom-dep:yargs | AI (phantom-deps): yargs is a CLI dependency declared in package.json for the bin/qrcode CLI tool; not directly imported in library code. Stable false positive for this package. | ai |
Versions (showing 50 of 50)
| Version | Deps | Published |
|---|---|---|
| 1.5.4 | 3 / 16 | |
| 1.5.3 | 4 / 16 | |
| 1.5.2 | 4 / 16 | |
| 1.5.1 | 4 / 16 | |
| 1.5.0 | 4 / 16 | |
| 1.4.4 | 7 / 11 | |
| 1.4.3 | 6 / 11 | |
| 1.4.2 | 4 / 11 | |
| 1.4.1 | 4 / 11 | |
| 1.4.0 | 4 / 11 | |
| 1.3.4 | 4 / 11 | |
| 1.3.3 | 5 / 11 | |
| 1.3.2 | 5 / 11 | |
| 1.3.1 | 4 / 11 | |
| 1.3.0 | 5 / 11 | |
| 1.2.2 | 5 / 11 | |
| 1.2.0 | 5 / 11 | |
| 1.1.0 | 4 / 11 | |
| 1.0.1 | 4 / 11 | |
| 1.0.0 | 4 / 11 | |
| 0.9.0 | 4 / 10 | |
| 0.8.2 | 4 / 10 | |
| 0.8.1 | 4 / 10 | |
| 0.8.0 | 4 / 10 | |
| 0.7.1 | 3 / 7 | |
| 0.7.0 | 3 / 7 | |
| 0.6.0 | 2 / 7 | |
| 0.5.0 | 3 / 6 | |
| 0.4.4 | 3 / 5 | |
| 0.4.2 | 3 / 5 | |
| 0.4.1 | 3 / 5 | |
| 0.4.0 | 3 / 5 | |
| 0.3.1 | 3 / 5 | |
| 0.3.0 | 3 / 5 | |
| 0.2.12 | 3 / 5 | |
| 0.2.11 | 3 / 5 | |
| 0.2.10 | 3 / 5 | |
| 0.2.9 | 3 / 5 | |
| 0.2.8 | 3 / 5 | |
| 0.2.7 | 3 / 5 | |
| 0.2.6 | 3 / 5 | |
| 0.2.5 | 2 / 5 | |
| 0.2.4 | 2 / 5 | |
| 0.2.3 | 2 / 5 | |
| 0.2.2 | 2 / 3 | |
| 0.1.1 | 1 / 0 | |
| 0.1.0 | 1 / 0 | |
| 0.0.3 | 1 / 0 | |
| 0.0.2 | 0 / 0 | |
| 0.0.1 | 0 / 0 |
v0.7.1
2 findings[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
This version was published by a different npm account (soldair) than the most recent previously approved version (vigreco) on 2017-03-17, but soldair is listed as a maintainer on prior approved versions (matched on name). This looks like a manual publish by a known maintainer rather than a publisher change. Recorded as INFO for audit trail.
v0.6.0
2 findingsThis version was published by a different npm account (vigreco) than the most recent previously approved version (soldair) on 2017-02-24. It has since remained available on npm for 3434 days without being unpublished, which is inconsistent with an account takeover — those are typically removed by npm shortly after discovery.
[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.4.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.12
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.10
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.8
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.7
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.6
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.5
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.4
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.3
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.2
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.