unpdf
PDF extraction and rendering across all JavaScript runtimes
Supply chain provenance
Status for the latest visible version.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| vendored-integrity | tampered-vendored-dep:dist | AI (vendored-integrity): Diffs confined to .d.ts type files from pdfjs-dist types copy step, not executable payload. | ai | |
| publish-pattern | new-deps-added | AI (publish-pattern): canvas added as optional dependency for legitimate PDF rendering use case; not a supply-chain attack vector. | ai | |
| dependencies | unvetted-dep:canvas | AI (dependencies): canvas is an established graphics library; optional dependency for PDF rendering is appropriate for this package. | ai | |
| source-diff | net-exec-file:dist/pdfjs.mjs | AI (source-diff): pdfjs-dist legitimately uses dynamic code patterns for PDF parsing; no malware indicators (credential theft, exfiltration, reverse shells) present. | ai | |
| source-diff | obfuscated-file:dist/pdfjs.mjs | AI (source-diff): dist/pdfjs.mjs is a minified build artifact from rollup bundling pdfjs-dist; minification is expected for build outputs. | ai | |
| source-diff | large-new-source-files | AI (source-diff): 64 new files reflect bundling of pdfjs-dist library; expected for PDF utility package. | ai | |
| source-diff | source-size-tripled | AI (source-diff): 83x size increase reflects pdfjs-dist bundling; documented in build:pdfjs script and appropriate for this package's purpose. | ai | |
| provenance | publisher-changed | AI (provenance): unpdf migrated to GitHub Actions CI/CD publishing with SLSA Sigstore attestation; publisher=GitHub Actions is the expected and legitimate state for this unjs org package going forward. | ai | |
| source-diff | encoded-string-file:dist/pdfjs.mjs | AI (source-diff): Long encoded strings in dist/pdfjs.mjs are standard minified pdfjs-dist bundle output (PDF constants, enums, polyfills). No obfuscation or malicious content; stable for this package. | ai |
Versions (showing 47 of 47)
| Version | Deps | Published |
|---|---|---|
| 1.8.0 | 0 / 12 | |
| 1.7.0 | 0 / 16 | |
| 1.6.2 | 0 / 16 | |
| 1.6.1 | 0 / 16 | |
| 1.6.0 | 0 / 16 | |
| 1.5.1 | 0 / 16 | |
| 1.5.0 | 0 / 16 | |
| 1.4.0 | 0 / 18 | |
| 1.3.2 | 0 / 18 | |
| 1.3.1 | 0 / 18 | |
| 1.3.0 | 0 / 18 | |
| 1.2.2 | 0 / 18 | |
| 1.2.1 | 0 / 18 | |
| 1.2.0 | 0 / 18 | |
| 1.1.0 | 0 / 18 | |
| 1.0.6 | 0 / 18 | |
| 1.0.5 | 0 / 18 | |
| 1.0.4 | 0 / 18 | |
| 1.0.3 | 0 / 18 | |
| 1.0.2 | 0 / 20 | |
| 1.0.1 | 0 / 21 | |
| 1.0.0 | 0 / 21 | |
| 0.12.2 | 0 / 19 | |
| 0.12.1 | 0 / 19 | |
| 0.12.0 | 0 / 20 | |
| 0.11.0 | 0 / 20 | |
| 0.10.1 | 0 / 19 | |
| 0.10.0 | 0 / 19 | |
| 0.9.0 | 0 / 19 | |
| 0.8.0 | 0 / 19 | |
| 0.7.1 | 1 / 19 | |
| 0.7.0 | 1 / 19 | |
| 0.6.1 | 0 / 19 | |
| 0.6.0 | 0 / 19 | |
| 0.5.4 | 0 / 8 | |
| 0.5.3 | 0 / 8 | |
| 0.5.2 | 0 / 8 | |
| 0.5.1 | 0 / 8 | |
| 0.5.0 | 0 / 8 | |
| 0.4.1 | 0 / 8 | |
| 0.4.0 | 0 / 6 | |
| 0.3.0 | 0 / 6 | |
| 0.2.2 | 0 / 6 | |
| 0.2.1 | 0 / 6 | |
| 0.2.0 | 0 / 6 | |
| 0.1.1 | 0 / 6 | |
| 0.1.0 | 0 / 6 |
v1.8.0
2 findingsThe directory `dist` byte-matched 126 of 154 file(s) against [email protected] — a version that passed review and that we hold in storage — which identifies it as a vendored copy of that package. But 21 file(s) inside it differ from that package's bytes at the same path: dist/types/src/display/annotation_layer.d.ts, dist/types/src/display/text_layer.d.ts, dist/types/src/display/xfa_layer.d.ts, dist/types/src/display/xfa_text.d.ts, dist/types/src/pdf.d.ts, dist/types/web/annotation_editor_layer_builder.d.ts, dist/types/web/annotation_layer_builder.d.ts, dist/types/web/pdf_find_controller.d.ts, dist/types/web/pdf_history.d.ts, dist/types/web/pdf_link_service.d.ts, dist/types/web/pdf_page_view.d.ts, dist/types/web/pdf_rendering_queue.d.ts, dist/types/web/pdf_scripting_manager.d.ts, dist/types/web/pdf_thumbnail_view.d.ts, dist/types/web/pdf_thumbnail_viewer.d.ts, dist/types/web/pdf_viewer.d.ts, dist/types/web/renderable_view.d.ts, dist/types/web/struct_tree_layer_builder.d.ts, dist/types/web/text_highlighter.d.ts, dist/types/web/text_layer_builder.d.ts (+1 more). A vendored library that is a faithful copy except for a handful of altered files is a well-worn supply-chain shape — the surrounding real code lends the tree legitimacy while the altered files carry the payload. These files are NOT exempt from any authorship heuristic; diff them against [email protected] before greenflagging.
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v1.7.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.