paper-reading

Pass

Audited by Gen Agent Trust Hub on Sep 18, 2026

Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
  • [INDIRECT_PROMPT_INJECTION]: The skill's primary function is to ingest and process untrusted external data from sources like academic PDFs, HTML pages, and user-pasted text (SKILL.md Step 2). This data is then used to synthesize metadata (e.g., title, authors, thesis) which the agent is instructed to pass as arguments to shell commands (SKILL.md Step 8).
  • Ingestion points: Processes external PDF files and official full-text HTML URLs as described in the 'Ground the source' section of SKILL.md.
  • Boundary markers: The instructions do not define specific delimiters or "ignore previous instructions" safety markers to be applied to the extracted text before the agent processes it.
  • Capability inventory: The skill utilizes shell execution via uv run and PYTHON_EXE across several scripts (extract_paper.py, scaffold_report.py, render_math.py).
  • Sanitization: While the internal scripts utilize html.escape and defusedxml to generate secure output, the skill instructions lack explicit guidance for the agent to sanitize or validate extracted metadata before interpolating it into shell command arguments.
  • [DYNAMIC_EXECUTION]: The math rendering utility dynamically loads its dependencies at runtime to ensure version compatibility.
  • Evidence: The script scripts/render_math.py utilizes importlib.import_module on lines 107 and 120.
  • Context: The module names ("latex2mathml.converter" and "defusedxml.ElementTree") are provided as static string literals for the purpose of runtime version checking and selective loading, which is a standard programming pattern for managing optional or version-locked dependencies.
  • [EXTERNAL_DOWNLOADS]: The skill workflow involves downloading and executing Python packages from official public registries.
  • Source: Fetches dependencies including pymupdf4llm, latex2mathml, and defusedxml from the Python Package Index (PyPI).
  • Execution method: The skill uses uv run --isolated to install these packages into temporary, isolated environments for execution (SKILL.md Step 2).
  • Security posture: These are well-known packages from an established official service, and their use in an isolated context aligns with development best practices.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 18, 2026, 01:52 PM
Security Audit — agent-trust-hub — paper-reading