Back to skill

Security audit

Smooth Browser

Security checks for vulnerabilities and agentic risk

Overview

This browser automation skill is coherent, but it gives agents broad web, account-session, file-upload, and persistent-profile authority without enough scoping or consent guidance.

Review before installing. Use this only for deliberate browser automation, prefer anonymous or read-only profiles when possible, restrict sessions with allowed URL patterns, avoid uploading sensitive files unless necessary, and require explicit confirmation before logins, account changes, purchases, public posting, or reusing saved authenticated profiles.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:15
Finding
Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md:15` **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ```bash pip install smooth-py ``` ### Technical Analysis The skill instructs users or agents to install `smooth-py` from the configured Python package index without specifying a reviewed version or verifying an artifact hash. As a result, the package and its transitive dependencies remain mutable after the skill has been audited. Python package installation can execute package-controlled build or installation logic. If the package publisher, one of its dependencies, or the configured package index is compromised, following this instruction could cause attacker-controlled code to run locally. The reviewed material does not establish that `smooth-py` is currently malicious; the finding concerns the unsafe, unpinned supply-chain installation method. ### Attack Path 1. An agent loads the skill and discovers that Smooth CLI is not installed. 2. The agent or user follows the documented `pip install smooth-py` instruction. 3. `pip` resolves the current package release and its transitive dependencies from the configured index. 4. A compromised or malicious release supplies attacker-controlled package content or installation logic. 5. That logic executes with the privileges of the account running `pip`. 6. The installed code can subsequently run whenever the documented Smooth commands are invoked. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the invoking user's privileges. The attacker could access files, environment variables, credentials, browser-related data, and network resources available to that account. If installation is performed by a privileged account or in a sensitive shared environment, the scope could expand accordingly. No privilege escalation beyond the installer's existing permissions is demonstrated by the reviewed fi ...[truncated 3 chars]
Remediation
## Remediation Suggestions - Pin `smooth-py` to an explicitly reviewed version rather than installing the latest available release. - Use a lock file or constraints file to pin all transitive dependencies. - Require artifact hashes, such as with `pip install --require-hashes -r requirements.txt`. - Document and enforce the expected official package index and verified publisher. - Install the dependency in an isolated, least-privileged virtual environment. - Integrate dependency vulnerability and provenance checks into the release process. - Review and deliberately approve dependency updates before changing the pinned version.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Vague Triggers

High
Confidence
97% confidence
Finding
The trigger phrases and description are extremely broad, effectively matching almost any web-related request such as logging in, scraping, filling forms, testing sites, or general browser interaction. This can cause unintended invocation of a high-capability browser automation skill in contexts where the user did not explicitly consent, increasing the risk of acting on sensitive sites, submitting data, or exfiltrating web content.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill promotes authentication, scraping, file upload, persistent profiles, and session reuse, but does not prominently warn that credentials, cookies, uploaded files, and page data may be transferred to an external service and persisted across sessions. In this context, the missing warnings are material because the skill is designed to handle highly sensitive browser state and user data, making accidental disclosure or over-collection more likely.

Ssd 3

Medium
Confidence
91% confidence
Finding
The instruction to save in memory which profiles authenticate to which services creates a durable mapping between user identities/accounts and reusable authenticated browser state. In an agent setting, that increases the risk of cross-task leakage, misuse of the wrong account, or unintended access to services using previously stored associations and persistent session artifacts.

Static analysis

No suspicious patterns detected.