PyPI / jsonpath-ng / 1.12.0
jsonpath-ng 1.12.0
- Source
- https://github.com/jsonpath-ng/jsonpath-ng
- Tag scanned
v1.12.0- Compared with
v1.11.0(2 signals introduced since)- Files
- 66 scanned, 8 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 11 info
- Scan time
- 7.1 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 very long data lines.Reasoning
This is a generated PLY LR parse table; long lines of integer state tables are expected for machine-generated parser tables. Raw-pass long-line signal has high false-positive rate and no executable payload is shown.
-
= -
=likely benign PLY lexer dynamically imports its generated table module via exec.Reasoning
This is PLY's standard lexer table loading: exec('import %s' % tabfile) imports a parser/lexer table module whose name comes from the library's own configuration, not untrusted input. Legitimate, if dated, pattern.
-
= =likely benign PLY helper reads caller frame globals to collect lexer rule definitions.Reasoning
get_caller_module_dict uses sys._getframe to read caller globals/locals, which is the upstream PLY idiom for resolving token/rule definitions from the calling module. The anti-analysis label is a false association with the file containing exec/eval for legitimate reasons.
-
= = =likely benign PLY imports a package by name to locate its source directory for output.Reasoning
Same PLY pattern: exec('import %s' % pkgname) to locate the package of the source file for output directory determination, with pkgname derived from the caller's module name. No external input.
-
=likely benign PLY evaluates a grammar literal token to validate its length.Reasoning
eval(s) in PLY's yacc grammar validation evaluates a literal token string from the grammar spec (e.g. a quoted character) to check it is a single character. This is upstream PLY behavior and the input is developer-authored grammar text.
-
=likely benign PLY yacc dynamically imports its parsetab module via exec.Reasoning
PLY's parser table loader uses exec to import a generated parsetab module by name. Standard library behavior with a configuration-derived module name.
-
= =likely benign PLY yacc helper inspects caller frame to gather grammar definitions.Reasoning
Upstream PLY get_caller_module_dict reading caller frame globals to resolve grammar definitions. The critical severity comes from a heuristic co-occurrence with exec/eval, not from malicious behavior.
-
= = =likely benign PLY imports a package by name to locate its source directory.Reasoning
PLY's output-directory logic imports the package named from the caller's module via exec. Same benign upstream pattern as the other exec calls in this vendored library.
-
=likely benign Generated PLY parser table with long data lines.Reasoning
Generated PLY parser action table consisting of integer state lists; the long line is data formatting from the generator, not obfuscated code.
-
= = assertlikely benign Test dynamically imports a generated parsetab module found in the package directory.Reasoning
The test imports a module whose name comes from parsetab_names discovered in the package directory, then asserts its file is inside the package directory. This is a test verifying cache locations; the non-literal import is confined to the project's own files.
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.
&&