Back to skill

Security audit

Smooth Browser

Security checks for vulnerabilities and agentic risk

Overview

This browser automation skill is useful but should be reviewed because it broadly handles web actions while encouraging persistent authenticated profiles and third-party file/session use.

Install only if you trust Smooth with browser sessions, uploaded files, and authenticated account workflows. Prefer anonymous or read-only profiles for routine browsing, create separate profiles per service, delete profiles and uploaded files after sensitive work, restrict allowed URLs when possible, and consider installing a reviewed pinned version of smooth-py in an isolated environment.

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:12
Finding

Unpinned Third-Party Package Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:12-16
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Medium

Vulnerable Code

markdown
Assume the Smooth CLI is already installed. If not, you can install it by running:

```bash
pip install smooth-py
text

### Technical Analysis

The skill instructs users or agents to install `smooth-py` without specifying an exact version, validating package hashes, using a lockfile, or identifying a verified package source. Consequently, the command resolves and executes whichever package release the configured Python package index serves at installation time.

This creates a supply-chain risk because the installed code can differ from the version considered during the skill audit. A compromised maintainer account, malicious future release, package-index compromise, or unsafe index configuration could cause attacker-controlled package code to be installed. Python packages can execute code during installation or whenever their installed command-line entry points are invoked.

The exposure is amplified by the documented role of the dependency. The Smooth CLI is expected to handle an API key, authenticated browser profiles and cookies, uploaded local documents, browser sessions, and web actions.

### Attack Path

1. An attacker compromises the package publisher, package distribution channel, or package resolution environment and makes a malicious `smooth-py` release available.
2. A user or agent follows the skill instruction and runs `pip install smooth-py`.
3. Because no version or integrity hash is specified, the package manager resolves the attacker-controlled release.
4. Malicious code executes during installation or subsequent invocation of the Smooth CLI.
5. The malicious dependency accesses resources available to the installing user or data processed by the CLI, potentially including API credentials, browser session state, uploaded files, and authenticated web workflows
...[truncated 547 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin smooth-py to a specific version that has been reviewed and approved:
    bash
    python -m pip install "smooth-py==X.Y.Z"
    
  2. Distribute a locked requirements file containing cryptographic hashes and install with hash enforcement:
    bash
    python -m pip install --require-hashes -r requirements.txt
    
  3. Document the verified official package name, publisher, and package-index URL to reduce dependency-confusion and typosquatting risks.
  4. Test and review dependency updates before changing the approved version or hashes.
  5. Recommend installation in an isolated virtual environment with least privilege rather than into a system-wide or privileged Python environment.
  6. Avoid running the installation command as root or with administrative privileges.
  7. Where feasible, verify signed release artifacts or checksums obtained through a trusted, independently authenticated channel.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The trigger text is extremely broad and effectively claims most browser-related work, including generic requests like scraping, logging in, testing websites, or filling forms. In an agent ecosystem, this can cause over-selection of a high-privilege web automation skill for tasks that may involve credentials, sensitive data, or external actions, increasing the chance of unsafe or unintended execution.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The profile feature is presented as a convenience for persisting cookies, login sessions, and browser state, but the skill does not warn that these artifacts may grant ongoing access to user accounts if reused, leaked, or misapplied. Because this skill is specifically designed for authentication and web automation, persistent session storage materially raises the risk of unauthorized account access and cross-task misuse.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill instructs the agent to pass metadata and upload files to an external browser service, but it does not warn that these may contain personal, confidential, or regulated data that will leave the local environment. This creates a real risk of inadvertent data exfiltration when users or upstream agents provide documents, screenshots, credentials, or PII for browser tasks.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The instruction to save which profiles authenticate to which services and reuse them later encourages long-lived retention of authentication context across interactions. In a multi-user or loosely scoped agent environment, that creates a pathway for future tasks to inherit or target stored authenticated sessions without fresh authorization, enabling account confusion or unauthorized actions.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.