fetch-as-markdown

Warn

Audited by Gen Agent Trust Hub on Jul 30, 2026

Risk Level: MEDIUMCOMMAND_EXECUTIONEXTERNAL_DOWNLOADSPROMPT_INJECTION
Full Analysis
  • [DYNAMIC_EXECUTION]: The script scripts/fetch-as-markdown.ts performs dynamic loading of code using a computed path. It attempts to import a module from a deep relative path ../../../../../markpaste/src/index.js. This pattern is risky as it relies on a specific directory structure and could potentially load unauthorized code if the file system is compromised.
  • [EXTERNAL_DOWNLOADS]: The skill uses the Playwright library to launch a headless Chromium browser and navigate to arbitrary URLs provided as command-line arguments. This allows the agent to fetch and render content from any external website.
  • [PROMPT_INJECTION]: The skill is vulnerable to indirect prompt injection (Category 8). It ingests untrusted data from the web and presents it to the agent as Markdown.
  • Ingestion points: Web content is fetched in scripts/fetch-as-markdown.ts using page.goto(url) and extracted via page.content().
  • Boundary markers: None. The script prints the converted markdown directly to standard output without any delimiters or instructions for the agent to ignore embedded commands.
  • Capability inventory: The skill has network access via the Playwright browser and executes file system operations to attempt local module loading.
  • Sanitization: The skill uses markpaste to convert HTML to Markdown, which simplifies the structure but does not filter out or sanitize natural language instructions that might be embedded in the fetched page content.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Jul 30, 2026, 01:45 PM
Security Audit — agent-trust-hub — fetch-as-markdown