pypdf 6.21.1
- Source
- https://github.com/py-pdf/pypdf
- Tag scanned
6.21.1- Compared with
6.21.0(0 signals introduced since)- Files
- 187 scanned, 110 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 40 info
- Scan time
- 21.2 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 28 of 29 warn and critical signals; 29 demoted to info.
- Disclude version
- 4.1.0
- Scanned (UTC)
- 2026-10-22 06:57
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
likely benign A GitHub URL containing a commit hash in a documentation FAQ.
Reasoning
The base64-like match is a fragment of a GitHub URL path in a markdown FAQ; the hash-like string is a commit reference, not a payload.
-
=likely benign Standard PDF encryption padding bytes constant in pypdf's encryption module.Reasoning
_PADDING is the standard 32-byte RC4/AESV2 password padding constant from the PDF specification (starts 0x28 0xBF 0x4E 0x5E...), a well-known fixed value used in PDF encryption, not a hidden payload.
-
=likely benign Hex-escaped PDF padding constant in encryption code.Reasoning
Same PDF specification padding constant; hex escapes are a normal way to express fixed binary constants.
-
b b )likely benign Second line of the PDF encryption padding constant.Reasoning
Continuation of the same standard PDF padding constant.
-
):likely benign Checks a local visitor parameter by name via locals() in page extraction code.Reasoning
locals() lookup of a visitor argument name is a common idiom in pypdf for checking whether optional visitor functions were passed; it operates on local parameters, not attacker-controlled names.
-
= = =likely benign Size-limited zlib decompression for PDF Flate streams.Reasoning
zlib decompressobj with max_length is the standard, size-limited FlateDecode decompression used to parse PDF streams; this is a legitimate PDF library function, not a hidden runtime payload.
-
inlikely benign Byte-value constants used when parsing inline image data in pypdf.Reasoning
A tuple of byte constants representing PDF inline image filter/byte values used in parsing; a lookup table of fixed bytes, not a dropper.
-
b b ): =likely benign Continuation of inline image byte constant table.Reasoning
Continuation of the same byte constant table used in inline image parsing; hex escapes are ordinary for binary values.
-
October 14, 1998 Heres to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. Theyre not fond of rules. Andlikely benign Typographic ligature in a text resource file quoting a famous speech.Reasoning
The 'fi' in 'misfits' is a typographic ligature (U+FB01) from the original quotation text, a common artifact of copied PDF/web text; it is not an identifier spoofing attempt in a code context.
-
The round pegs in the square holes. The ones who see things differently. Theyre not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them.likely benign Typographic ligature in a text fixture quoting a famous speech.Reasoning
'ff' ligature in 'differently' is a typographic ligature from copied text, not malicious spoofing in a text fixture.
-
Heres to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently. Theyre not fond of rules. Andlikely benign Ligature in a layout test text resource.Reasoning
Same typographic ligature in a test resource text file; benign text artifact.
-
The round pegs in the square holes. The ones who see things differently. Theyre not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them.likely benign Ligature in a layout test text resource.Reasoning
Same typographic ligature in a test resource; benign text artifact.
-
info
warn→ info by reviewunicode-mixed-scriptresources/crazyones_layout_vertical_space_font_height_weight.txt:4:34Heres to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes.likely benign Ligature in a font layout test text resource.Reasoning
Same typographic ligature in a test resource text file; benign text artifact.
-
info
warn→ info by reviewunicode-mixed-scriptresources/crazyones_layout_vertical_space_font_height_weight.txt:7:28The ones who see things differently. Theyre not fond of rules. And they have no respect for the status quo. You can quote them, disagree with them, glorify or vilify them.likely benign Ligature in a font layout test text resource.Reasoning
Same typographic ligature in a test resource; benign text artifact.
-
ffd8ffe000104a46494600010100000100010000ffdb0043000302020302020303030304030304050805050404050a070706080c0a0c0c0b0a0b0b0d0e12100d0e110e0b0b1016101113141515150c0f171816141812141514ffdb00430103040405040509050509140d0b0d1414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414ffc2likely benign A single very long line of hex-encoded JPEG data in a text resource file.Reasoning
The line is a hex dump of JPEG header and quantization table bytes stored in a text resource. The long line is a data fixture, not code that executes or hides anything.
-
This is a sample document with two columns filled molestie vitae, placerat a, molestie nec, leo. Maece- with Lorem Ipsum text. nas lacinia. Nam ipsum ligula, eleifend at, accumsanlikely benign A typographic fi ligature inside a lorem ipsum sample text file.Reasoning
The 'fi' ligature is a typical artifact of text extracted from a PDF, and the file is Lorem Ipsum sample text. It is a raw-pass finding with a high false-positive rate and no code behind it.
-
= . = .. # Check the backwards-compatible substitution works when calling from pypdflikely benign A test helper that reads its caller's frame name to verify compatibility behaviour.Reasoning
The test uses inspect.currentframe().f_back to check the caller's name so a backwards-compatible substitution behaves correctly when called from pypdf. This is ordinary test scaffolding.
-
= # no error assert in # actually the ϕ and φ seems to be crossed in latex -
assert ==likely benign Binary CCITT fax test fixture data used in a filter decode assertion.Reasoning
A concatenated bytes literal of TIFF-like CCITT image data is passed to a decoder and compared with expected output. Binary fixtures are normal in codec tests.
-
=likely benign Duplicate report of the binary image data fixture at line 788.Reasoning
This is a repeat of the same binary image fixture as the 788 finding, reported by a second rule. The content is test data.
-
=likely benign Duplicate report of the binary image data fixture at line 788.Reasoning
This is a repeat of the same binary image fixture as the 788 finding, reported by a second rule. The content is test data.
-
b b )likely benign Continuation of the binary image data fixture in a filter test.Reasoning
This is a continuation of the binary image fixture from the same test. It is data for codec testing with no execution path.
-
) = b # noqa: E501 # Validation: Is our image data valid?likely benign JBIG2 globals binary fixture used in a decoder test.Reasoning
The JBIG2 globals bytes are a known test vector used when decoding JBIG2 images. The noqa comment shows the long line was accepted on purpose.
-
=likely benign Inline PDF image stream containing JPEG bytes as a test fixture.Reasoning
This is an inline image stream with PDF operators and a JFIF-encoded JPEG payload, the kind of data a PDF image test would contain. It has no executable or hidden content.
-
=likely benign Raw pixel byte constant used as flate image test data.Reasoning
The data is a flate-compressed raw image pixel buffer in a test constant. Its shape matches raw pixel data, not a payload.
-
= =likely benign Test code that temporarily installs a trace function around a clone call.Reasoning
The code saves the previous trace function, installs a tracer around a clone operation, and restores it in a finally block. This pattern is used in tests to check that clone does not leak or disturb trace state, and it is not malicious.
-
likely benign Cleanup that restores the prior trace function and gc state after a test.
Reasoning
This restores the previous trace function in a finally block and re-enables gc if needed. It is cleanup for the same test, so it is ordinary test hygiene.
-
assert . ==likely benign A test fixture embedding a small PNG image as a bytes literal for comparison.Reasoning
The bytes literal is a PNG file header plus IDAT and IEND chunks, used as expected data in a test assertion comparing against a decoded image. Binary test fixtures are normal in image library tests; the escapes reflect raw PNG bytes, not hidden execution.
-
, , ], ) -
, , ], ) -
# Non-hex digits, a marker at the end and a truncated escape are all kept as-is. , , , -
# Non-hex digits, a marker at the end and a truncated escape are all kept as-is. , , , -
, , , # A well-formed escape is still decoded (Adobe stores "my car" this way). -
, , , # A well-formed escape is still decoded (Adobe stores "my car" this way). -
, , # A well-formed escape is still decoded (Adobe stores "my car" this way). , -
, , # A well-formed escape is still decoded (Adobe stores "my car" this way). , -
# A well-formed escape is still decoded (Adobe stores "my car" this way). , ], ) -
=, =, =12, =False, -
= =likely benign A test utility that temporarily installs a call-counting profiler around a function call.Reasoning
Saving the previous profiler, installing a call-counting profile function around a call, and restoring it is a standard test helper for counting function calls. It is not malicious and does not exfiltrate or execute anything.
-
return ,likely benign Restores the previous profile function after a test call-counting helper runs.Reasoning
This is the restore step in the finally block of the same profiling helper, resetting the previous profile function. Consistent with benign test instrumentation.
Reproduce This Scan
Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
&&