paper-fetch
Fail
Audited by Gen Agent Trust Hub on Nov 1, 2026
Risk Level: HIGHINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill represents a significant surface for indirect prompt injection attacks.
- Ingestion points: The skill downloads academic papers (PDFs) and fetches web content which are processed in
scripts/pflib/verify.py(usingpdftotext) andscripts/pflib/browser.py(via content extraction). - Boundary markers: While
SKILL.mdprovides detailed briefs for subagents (paper agent and judge), it lacks explicit delimiters or instructions to ignore embedded commands within the extracted paper content. - Capability inventory: The skill possesses extensive capabilities, including shell command execution (
subprocess.run,os.execvp) and network operations (urllib,opencli). - Sanitization: No specific sanitization or filtering of the extracted text layer was observed before it is presented to the AI agent for judgment.
- [COMMAND_EXECUTION]: The skill makes extensive use of subprocesses to interact with system tools.
- Evidence:
scripts/pflib/verify.pyandscripts/pflib/run.pyinvokepdftotext,pdfinfo, andpdftoppmto process downloaded files. These calls use argument lists rather than shell strings, which mitigates standard shell injection risks. - Dispatcher:
scripts/pf.pyusesos.execvpto replace the current process with auv runcall for sibling scripts. This is restricted to scripts existing within the localscripts/directory. - [DYNAMIC_EXECUTION]: The skill performs dynamic code execution within the user's browser environment.
- Evidence:
scripts/pflib/browser.pyexecutes JavaScript snippets viaopencli browser evalto handle complex web interactions and data transfers. These snippets are pre-defined templates, and URL inputs are safely escaped usingjson.dumps(). - [EXTERNAL_DOWNLOADS]: The skill is primarily designed to download content from external sources.
- Evidence: It fetches metadata from academic APIs (Crossref, OpenAlex, Europe PMC) and downloads PDF files from publisher domains. These interactions are paced and governed by a local
pace.jsonfile to comply with site policies.
Recommendations
- HIGH: Downloads and executes remote code from: https://agg.example/doc/pdf, https://disc.example/search?vid=X&query=old, https://pmc.example/1 - DO NOT USE without thorough review
Audit Metadata