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 targets arxiv.org (a well-known service) for ArXiv IDs, it also accepts arbitrary URLs provided in the papers/core_set.csv input file.
  • Evidence: scripts/run.py contains the _download_pdf function which takes a URL and uses urllib.request to 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 via PyMuPDF (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.md specifies commands like uv run python .codex/skills/pdf-text-extractor/scripts/run.py.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 14, 2026, 02:54 PM