pdf-text-extractor
Pass
Audited by Gen Agent Trust Hub on Sep 14, 2026
Risk Level: SAFEEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTION
Full Analysis
- [EXTERNAL_DOWNLOADS]: The skill downloads PDF files from external sources using
urllib.request.urlopen. While it specifically targetsarxiv.org(a well-known service) for ArXiv IDs, it also accepts arbitrary URLs provided in thepapers/core_set.csvinput file. - Evidence:
scripts/run.pycontains the_download_pdffunction which takes a URL and usesurllib.requestto fetch data. - [INDIRECT_PROMPT_INJECTION]: The skill represents an indirect prompt injection surface because it ingests untrusted data from external URLs (PDFs) and local CSV/TSV files, then extracts text that is intended to be used as evidence for an agent.
- Ingestion points:
papers/core_set.csv(URLs/metadata),outline/mapping.tsv(prioritization), and external PDF files fetched via the network. - Boundary markers: No specific delimiters or "ignore embedded instructions" warnings are applied to the extracted text before it is written to
papers/fulltext/*.txt. - Capability inventory: The skill possesses network download capabilities (
urllib.request), file writing capabilities (pathlib.Path.write_text/write_bytes), and PDF parsing viaPyMuPDF(fitz). - Sanitization: The skill performs basic whitespace normalization on extracted text but does not sanitize the content for potential prompt injection patterns before outputting it for agent consumption.
- [COMMAND_EXECUTION]: The documentation instructs the user/agent to execute a Python script using
uv run python. While this is a standard execution method for this ecosystem, it involves running a script that dynamically modifies its import path. - Evidence:
SKILL.mdspecifies commands likeuv run python .codex/skills/pdf-text-extractor/scripts/run.py.
Audit Metadata