Trust Assessment
browser-cash received a trust score of 83/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 2 findings: 0 critical, 1 high, 1 medium, and 0 low severity. Key findings include Command Injection via unsanitized external input in 'node -e', Unpinned npm dependencies.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 12, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Command Injection via unsanitized external input in 'node -e' The skill directly interpolates the `$CDP_URL` variable, which is sourced from an external API response, into a `node -e` command. If the `browser.cash` API were compromised and returned a maliciously crafted `cdpUrl` (e.g., containing JavaScript code that breaks out of the string and executes arbitrary commands), it could lead to command injection on the host system. The `node -e` construct acts as an `eval`-like environment for the interpolated string. Sanitize the `$CDP_URL` variable to ensure it only contains a valid URL before embedding it into the `node -e` command. A more robust solution would be to pass the `CDP_URL` as an environment variable or command-line argument to a separate Node.js script file, rather than directly interpolating it into the `node -e` string. | LLM | SKILL.md:90 | |
| MEDIUM | Unpinned npm dependencies The `npm install` commands for `playwright` and `puppeteer-core` do not specify exact versions. This means that future installations could pull in the latest available versions, which might introduce breaking changes, vulnerabilities, or even malicious code if a package maintainer's account is compromised or a typosquatting attack occurs. This is a common supply chain risk. Pin the versions of `playwright` and `puppeteer-core` to specific, known-good versions (e.g., `npm install playwright@1.x.x puppeteer-core@2.x.x`) or manage dependencies using a `package.json` file with locked versions. | LLM | SKILL.md:40 |
Scan History
Embed Code
[](https://skillshield.io/report/176864c7ddf70657)
Powered by SkillShield