live · scanning repos
Scanrepo
github.com
github.com / jsvine

jsvine/pdfplumber

Python·151 files·commit 4c64b92·scanned 4d ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.

score capped at 15 — 10,849+ stars — findings likely false positives

verdict accurate?
10,849 stars
25% file coverage
threat-state: lowlive

FINDINGS ░▒▓

criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.setup.py
with _open(NAME + "/_version.py") as f:
    exec(f.read(), {}, version_ns)

with _open("requirements.txt") as f:
+7
infoSuspicious files are not reachable from entry pointsFlagged files exist but are not imported by any entry point. They may be dead code, tests, or attack payloads triggered by another mechanism.+2

Scores are heuristics. A “safe” verdict means no known-malicious patterns were found — clever malware can look boring. Wrong verdict? Flag it above; confirmed false positives become regression tests.

38 files scanned @ 4c64b92 | 10/25/2026 | heuristic scan — always review manually

risk by category
code execution9
network & exfiltration0
file system access0
obfuscation0
supply chain0
owasp / injection0
telemetry
files 38/151rules hit 2engine v7commit 4c64b92

github

jsvine/pdfplumber

Plumb a PDF for detailed information about each char, rectangle, line, et cetera — and easily extract text and tables.

Python
10849
937
4085d
151 files
38 scanned(25%)
4c64b92

architecture░▒▓

entry (0) flagged (1) pkg (50)
88 nodes · 199 edgesscroll to zoom · click node to jump to finding
LOW (15/100) — jsvine/pdfplumber — ScanRepo