Back to skill

Security audit

免费网页搜索工具

Security checks for vulnerabilities and agentic risk

Overview

This web-search skill is not clearly malicious, but it asks for broad command execution and mutable browser-tool installation while parts of its documentation expand beyond simple search.

Review before installing. Use it only in an isolated environment, avoid sensitive or internal queries, pin and verify Playwright/Chromium dependencies if possible, and do not allow the skill to run unrelated local commands or file-processing tasks beyond the search workflow.

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

Unpinned Third-Party Package and Browser Binary Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 139–142; repeated at lines 227–228 and 258–259
Vulnerability Type: Unpinned and unverified third-party dependencies
Risk Level: Medium

Vulnerable code snippet:

bash
# Install Python dependency
pip install playwright

# Install Chromium browser engine
playwright install chromium

The same unsafe installation pattern is repeated later:

bash
pip install --upgrade playwright
playwright install chromium

Technical Analysis

The Skill instructs the agent to install the latest available playwright package and a remotely downloaded Chromium binary without specifying reviewed versions, cryptographic hashes, a lockfile, a trusted package index, or artifact verification.

Because dependency resolution is mutable, the components installed when the Skill is used may differ from those present when it was audited. The explicit use of pip install --upgrade playwright further allows future package releases and dependency changes to enter the environment automatically. Python package installation and Playwright browser installation both process content obtained from external distribution infrastructure.

This is a supply-chain weakness rather than evidence that the current Playwright package is malicious. Exploitation requires compromise or malicious substitution of a package, transitive dependency, package index, download channel, or browser artifact.

Attack Path

  1. An attacker compromises or substitutes a future Playwright release, a transitive dependency, the configured Python package index, or a browser artifact used by Playwright.
  2. A user or agent follows the Skill instructions and runs pip install playwright, pip install --upgrade playwright, or playwright install chromium.
  3. The package manager resolves the mutable dependency or artifact without checking a project-controlled version and cryptographic hash.
  4. The ...[truncated 867 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin Playwright and all transitive Python dependencies to reviewed versions in a lockfile.
  2. Require cryptographic hashes, such as with pip install --require-hashes -r requirements.txt.
  3. Configure an explicitly trusted package index rather than relying on ambient package-manager configuration.
  4. Pin the Playwright browser revision and verify downloaded browser artifacts against vendor-published checksums or signatures.
  5. Remove the unconditional --upgrade instruction; upgrades should undergo security review and testing before deployment.
  6. Install dependencies in an isolated virtual environment or disposable container using a non-privileged account.
  7. Retain dependency provenance and periodically scan pinned packages and browser components for known vulnerabilities.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (8)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The manifest defaults to Chinese-optimized behavior without explicit opt-in. While not severe on its own, forced locale behavior can affect routing, content jurisdiction, privacy expectations, and result bias in ways users may not anticipate.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

A web-search skill declares generic exec capability even though its stated purpose does not justify unrestricted command execution. In agent environments, exec is a sensitive permission that can enable arbitrary local command runs, data exfiltration, environment inspection, or pivoting beyond simple search if the skill is invoked with untrusted input.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill description emphasizes convenience but does not clearly disclose that user queries and optional fetched pages are sent to external search engines and target websites. This can cause accidental disclosure of sensitive prompts, research topics, or internal identifiers to third parties.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Stating that Chinese results are the default without clear opt-in can silently steer searches toward a particular locale and language context. In a networked search tool, that can alter what external services are contacted and what content is returned, which matters for privacy and accuracy.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

Lines L047-L066 repeatedly state that the capability uses input_params and supports '创建/查询/导出' operations, while L043 and L062-L063 explicitly say the free version does not support result export. This is an active contradiction in the skill documentation about what operations are available.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger conditions are broad enough to activate on loosely related SEO, keyword, ranking, or traffic requests without clear boundaries. Overbroad activation increases the risk that the agent invokes external search and command-execution behavior in contexts where the user did not intend network disclosure or tool use.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill is presented as a lightweight web search tool, but later claims broad file-processing, API-integration, and command-execution abilities. That capability expansion can mislead an agent or user into granting the skill broader trust and operational scope than necessary, increasing the chance of unintended data access or unsafe automation.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
96% confidence
Finding

L262-L266 state the free version requires no API key and no third-party registration, but L287 warns that API keys should be configured via environment variables. For this skill, that guidance contradicts the earlier claim about credential-free operation and misstates the actual intent of the tool.

Content

No source excerpt is available for this finding.