Rp1
- Category
- MCP Rug Pull
- Confidence
- 70% confidence
- Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
- Content
Security audit
Security checks for vulnerabilities and agentic risk
This is a disclosed browser-typing automation skill; it can type into an open browser session, but I found no hidden persistence, exfiltration, or destructive behavior.
Install only if you want a tool that can control an OpenClaw/Chromium browser and type into the currently available page. Before running it, open the intended page, use a specific selector, preview with --dry-run when uncertain, and avoid pointing it at sensitive or production forms unless you explicitly intend the typed text to go there.
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
The run command sends arbitrary user-supplied text directly into a live browser field, and the README documents this capability without an explicit warning about misuse or operator verification. In an automation context, this can facilitate unintended submission of sensitive data, destructive form actions, or stealthy interaction with production systems if users misunderstand the risk.
The skill instructs use of external commands and a local CDP endpoint, but it does not declare any explicit tool scope such as allowed-tools or permissions. That mismatch can cause the agent runtime to grant broader-than-expected execution capability or leave operators unaware that the skill can interact with local environment resources and an active browser session.
The code connects to an already-running Chromium instance over CDP at a predictable localhost endpoint and then takes control of the first available page without validating ownership, origin, or intended target. If another local process exposes or can reach that CDP endpoint, this skill could drive an existing authenticated browser session, causing unintended actions, data entry, or interaction with sensitive pages.
This code programmatically clicks a selector, brings a browser page to the foreground, and then replays keyboard events into the page. While the file has a brief technical header comment, it does not provide any user-facing warning, confirmation, or explanatory disclosure that it will take control of an existing browser session and send input to the active page.
The file describes a dedicated 'French accent omissions' mode and later exposes it as a boolean french option, which bakes in locale-specific behavior. There is no accompanying natural-language indication that language behavior should be selected by the user or limited to a justified region-specific use case.
The help text and implementation introduce a --french mode and accent-omission behavior tied to a specific language/locale. The file does not present this as a user-selectable locale framework with alternatives or a documented region-specific justification, so it can be read as embedding special handling for one locale without broader opt-in design.
The dependency uses a caret range (^1.40.0), which allows automatic installation of newer 1.x releases rather than a single vetted version. That increases supply-chain risk because a compromised or breaking upstream release could be pulled into this browser-automation skill without explicit review; the automation/stealth context makes dependency trust somewhat more important, though this package.json alone does not show active exploitation.
"node": ">=20"
},
"dependencies": {
"playwright-core": "^1.40.0"
},
"files": [
"engine.js",
No suspicious patterns detected.