edge-rendering
Pass
Audited by Gen Agent Trust Hub on Sep 20, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill architecture is vulnerable to injection because it ingests data from external sources and interpolates it into the agent's output context without sanitization.
- Ingestion points: Data is retrieved from Cloudflare KV (
env.CITY_KV.get) and D1 Database (env.DB.prepare(...).first()) inSKILL.md. - Boundary markers: None are used to separate data from the HTML structure.
- Capability inventory: The skill generates and returns full HTML responses to the client.
- Sanitization: The
renderPagefunction lacks escaping or sanitization forcity.name,city.state,service.name, andservice.description, and performs a direct string replacement onservice.template. If these data sources are compromised or contain untrusted user input, arbitrary scripts can be executed. - [DYNAMIC_EXECUTION]: The implementation performs dynamic assembly of executable content (HTML/JS) at runtime.
- Evidence: The
renderPagefunction inSKILL.mduses template literals andString.prototype.replaceto construct the final HTML document delivered to the browser. - Risk: While this is a standard pattern for web rendering, the combination with unsanitized external data sources creates an injection risk.
Audit Metadata