paper-fetch

Pass

Audited by Gen Agent Trust Hub on Oct 1, 2026

Risk Level: SAFECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
  • [COMMAND_EXECUTION]: The main script scripts/fetch.py uses subprocess.run to execute a companion script scripts/cloak_pdf.py. It also runs a Python check to verify the presence of the cloakbrowser dependency. While these calls avoid shell=True and incorporate argument quoting via shlex, they represent a command execution surface that relies on the integrity of the environment (e.g., the CLOAKBROWSER_PYTHON variable).
  • [DYNAMIC_EXECUTION]: The helper script scripts/cloak_pdf.py executes dynamic JavaScript using page.evaluate within a browser environment. This mechanism is used to perform in-page fetches to bypass anti-bot protections like Cloudflare challenges.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes data from multiple external and potentially untrusted sources.
  • Ingestion points: The skill fetches metadata such as paper titles and author names from various APIs (Crossref, Semantic Scholar, Unpaywall, arXiv) and scrapes content from Sci-Hub mirrors.
  • Boundary markers: None. The ingested strings are placed directly into JSON objects returned to the agent.
  • Capability inventory: The skill has the ability to write files to the local disk, perform network requests, and execute subprocesses.
  • Sanitization: While the skill includes excellent SSRF validation for URLs and binary validation for PDF files, it does not sanitize text-based metadata fields that are eventually returned to the AI agent.
  • [EXTERNAL_DOWNLOADS]: The skill fetches data and files from a variety of external research and preprint platforms. It mitigates SSRF risks by implementing a strict validation layer that checks all target hostnames and resolved IP addresses against private and restricted ranges before initiating any connection.
Audit Metadata
Risk Level
SAFE
Analyzed
Oct 1, 2026, 04:13 PM