PyPI / jsonpath-ng / 1.11.0
jsonpath-ng 1.11.0
- Source
- https://github.com/jsonpath-ng/jsonpath-ng
- Tag scanned
v1.11.0- Compared with
v1.10.1(2 signals introduced since)- Files
- 64 scanned, 8 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 11 info
- Scan time
- 6.9 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 10 of 10 warn and critical signals; 10 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-21 14:56
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
info
warn→ info by reviewlong-linesrc/jsonpath_ng/_ply_tables/ext_parser_table.py:11:1new in this release=likely benign Generated PLY parser table with long data lines.Reasoning
This is a machine-generated PLY LR parse table with very long lines of integer/state data. Long lines in generated tables are expected and carry no executable payload.
-
= -
=likely benign PLY lexer uses exec to import its own generated lex table module.Reasoning
This is the standard PLY lexer code that imports a generated lextab module by name. The tabfile value comes from the library's own configuration, not untrusted input, so the exec is a benign import idiom.
-
= =likely benign PLY uses sys._getframe to read the caller's module namespace when building a lexer.Reasoning
This is PLY's helper for fetching the caller's globals/locals via sys._getframe, a common pattern for building lexer/parser namespaces. The 'anti-analysis' label is an artifact of the file containing exec/eval, not evidence of evasion.
-
= = =likely benign PLY imports a package by computed name to find an output directory.Reasoning
Standard PLY code that imports the package of a source file to locate its directory for output. The module name derives from the library's own file path, so the exec is benign.
-
=likely benign PLY evals a grammar literal token to check it is a single character.Reasoning
PLY evaluates a grammar literal token string (e.g. a single-character literal) with eval. The input comes from the grammar definition written by the developer, so this is a known, documented PLY pattern rather than attacker-controlled execution.
-
=likely benign PLY parser imports its generated parsetab module via exec.Reasoning
Same PLY parsetab import idiom: a module name generated by the library is imported with exec and then pulled from sys.modules. No external input is involved.
-
= =likely benign PLY uses sys._getframe to capture the caller's namespace for grammar building.Reasoning
This is the PLY get_caller_module_dict helper using sys._getframe, shared with lex.py. It is a normal namespace-gathering technique, and the critical severity reflects the heuristic's anti-analysis shape rule rather than real evasive behaviour.
-
= = =likely benign PLY imports a package by computed name to determine the output directory.Reasoning
Another PLY package-import-by-name for locating output directories, using a module name derived from the library's own paths. Benign.
-
=likely benign Generated PLY parser table with long data lines.Reasoning
Generated PLY LR action table with long lines of state numbers. This is standard generator output and not obfuscation.
-
= = assertlikely benign Test dynamically imports a generated PLY parsetab module to verify its location.Reasoning
A test imports a parsetab module by name derived from the package's own generated table names, then checks its file lies within the package directory. This is a legitimate test assertion with no external input.
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.
&&