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 runandPYTHON_EXEacross several scripts (extract_paper.py, scaffold_report.py, render_math.py). - Sanitization: While the internal scripts utilize
html.escapeanddefusedxmlto 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.pyutilizesimportlib.import_moduleon 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, anddefusedxmlfrom the Python Package Index (PyPI). - Execution method: The skill uses
uv run --isolatedto 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