render-ios-lockscreen
Pass
Audited by Gen Agent Trust Hub on Aug 19, 2026
Risk Level: SAFEEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONREMOTE_CODE_EXECUTIONDATA_EXFILTRATIONPROMPT_INJECTION
Full Analysis
- [PROMPT_INJECTION]: The skill processes untrusted JSON configuration data to generate HTML mockups. Although it uses an
escapeHTMLfunction to sanitize text fields, the overall architecture presents a surface for indirect prompt injection where malicious instructions could be embedded in data fields. - Ingestion points: JSON configuration files loaded via
render.js. - Boundary markers: An
escapeHTMLfunction is used to delimit text content ingenerate.js. - Capability inventory: The skill can read local files, access the network for assets, and render content in a headless browser via Playwright.
- Sanitization: Character escaping is applied to most text fields, but file paths and URLs are used directly for resource loading.
- [EXTERNAL_DOWNLOADS]: The skill fetches typography from Google Fonts (
fonts.googleapis.comandfonts.gstatic.com) and placeholder images fromi.pravatar.ccto populate the rendered mockups. - [REMOTE_CODE_EXECUTION]: The installation process requires downloading the Playwright library and the Chromium browser engine (
npx playwright install chromium) which are executed locally to capture screenshots. - [DATA_EXFILTRATION]: The skill resolves and loads local files specified in the configuration for wallpapers and icons. Because it uses the
file://protocol without a restricted allowlist, it could be coerced into rendering sensitive local files (e.g., configuration or credential files) into the output screenshot. - [COMMAND_EXECUTION]: The documentation provides instructions for executing the renderer and tests using CLI commands (
node render.jsandbash tests/run-all.sh).
Audit Metadata