html-to-pdf
Fail
Audited by Gen Agent Trust Hub on Sep 15, 2026
Risk Level: HIGHCOMMAND_EXECUTIONPRIVILEGE_ESCALATIONINDIRECT_PROMPT_INJECTIONEXTERNAL_DOWNLOADS
Full Analysis
- [COMMAND_EXECUTION]: The script
scripts/html-to-pdf.jsis vulnerable to shell command injection. In thecheckPdfPageCountfunction, thepdfPathvariable (derived directly from a command-line argument) is interpolated into a shell command template literal passed toexecSyncwithout sanitization. This allows for arbitrary command execution on the host system if a malicious filename is provided.\n - Evidence:
execSync(\pdfinfo "${pdfPath}" 2>&1`, { encoding: 'utf8' })inscripts/html-to-pdf.js.\n- **[PRIVILEGE_ESCALATION]:** The Puppeteer browser instance is launched with the--no-sandboxand--disable-setuid-sandbox` flags. These settings disable critical security boundaries within Chromium, increasing the risk that a malicious webpage could compromise the underlying system through a browser exploit.\n - Evidence:
puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox', ...] })inscripts/html-to-pdf.js.\n- [INDIRECT_PROMPT_INJECTION]: The skill renders untrusted content from external URLs or local files in a browser with JavaScript enabled, creating a vector for indirect prompt injection and data exfiltration.\n - Ingestion points: Positional input arguments in
scripts/html-to-pdf.js.\n - Boundary markers: None present to differentiate between data and instructions.\n
- Capability inventory: Headless browser (network access, JS execution), file system access (
fs), and shell command execution (execSync).\n - Sanitization: None identified; content is rendered directly as provided.\n- [EXTERNAL_DOWNLOADS]: The skill downloads the
puppeteerpackage and its bundled Chromium binary from the official npm registry during the setup phase.
Recommendations
- AI detected serious security threats
Audit Metadata