T09 · Insecure Skill Coding Practices
- Location
scripts/browser-automation.js:28- Finding
OS Command Injection Through Shell-Interpolated Browser Arguments
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a browser automation helper, but its included script can execute crafted browser arguments through the local shell and can log sensitive form or URL data.
Install only if you trust the skill author and will use it with controlled inputs. Avoid passing untrusted URLs, selectors, output paths, option names, or form data to the helper script until it replaces shell execution with argument-array process execution and stops logging raw command values.
scripts/browser-automation.js:28OS Command Injection Through Shell-Interpolated Browser Arguments
scripts/browser-automation.js:42Sensitive Browser and Form Arguments Exposed in Process Logs
This method builds a shell command by concatenating untrusted argument values and then executes it via child_process.exec, which invokes a shell. Double-quoted string interpolation does not safely prevent shell metacharacter expansion such as command substitution, so attacker-controlled values can lead to arbitrary OS command execution and unintended network/data exposure.
This code exposes operations such as taking screenshots to an output path and later page actions like clicking and form filling, but the user-facing CLI help only lists commands and does not warn that the script may write files or perform browser interactions on the user's behalf. Under the code-file criteria, these safety-relevant operations lack a confirmation prompt or explanatory warning about their impact.
The docstring says this method extracts text from a page, but the implementation calls the generic 'snapshot' browser command with mode and maxChars options. That is an intent-level mismatch because the documented behavior implies text extraction while the code delegates to a snapshot operation whose semantics are different in the rest of the file.
No suspicious patterns detected.