puppeteer_evaluate
on npm:@modelcontextprotocol/server-puppeteer@2025.5.12
Severity
2 findings on this tool
- criticalexcessive agencyf-r7-puppeteer_evaluate
Tool `puppeteer_evaluate` exposes a code/command execution surface
`puppeteer_evaluate` looks like it executes code or shell commands (Execute JavaScript in the browser console). Arbitrary execution is the maximal authority a tool can hold -- it subsumes every other caveat, so it should never be exposed to an agent without a hard sandbox and an explicit, narrowly-scoped capability.
fix: Do not expose raw code/shell execution to an agent. If unavoidable, run it in a disposable sandbox with no network + no host FS, gate it behind a capframe-bind capability scoped to an allow-list of commands, and require holder-of-key proof per call.
OWASP LLM08NIST MANAGE-2.2ATLAS T0051 - mediumunconstrained inputf-r1-puppeteer_evaluate
Tool `puppeteer_evaluate` accepts unconstrained string input
The following string parameter(s) have no `maxLength` constraint: `script`. Unbounded strings let an attacker stuff arbitrary payloads through the tool, including indirect-injection content.
fix: Add a `maxLength` to each string property, or constrain with an `enum` or `pattern`. Most legitimate tool inputs fit under a few hundred bytes.
OWASP LLM01NIST MEASURE-2.3ATLAS T0051
About this tool
puppeteer_evaluate is one of 7 tools exposed by server-puppeteer. The server scored 76/100 overall against the capframe rule engine (source: sandbox). Last scanned 2026-06-05.
The findings above are emitted by the public capframe.findings.v1 schema. Disagree with one? Open an issue.