Back to skill

Security audit

Google Search

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Google search integration that sends search requests to AceDataCloud and does not show hidden persistence, destructive behavior, or unrelated data access.

Before installing, understand that search queries, country and language settings, and related parameters will be sent to AceDataCloud. Avoid using confidential, personal, or regulated data as search queries unless your organization permits that provider, and install the optional MCP package in an isolated environment with a reviewed pinned version when possible.

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:86
Finding
Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, line 86 **Vulnerability Type**: Unpinned third-party dependency **Risk Level**: Medium **Vulnerable Code**: ```bash pip install mcp-serp ``` ### Technical Analysis The documented command installs the latest available release of the third-party `mcp-serp` package without a version constraint or cryptographic hash. The project provides no lockfile, verified source reference, package hash, or provenance-validation procedure. Installing a Python package can execute package-controlled build or installation logic. Consequently, a compromised, replaced, or unexpectedly modified package release could execute arbitrary code during installation. The absence of version and hash pinning also prevents users from reliably reproducing a previously reviewed installation. ### Attack Path 1. An attacker compromises the package, its publisher account, or the relevant package-distribution path. 2. The attacker publishes a malicious release under the expected package name. 3. A user or agent follows the documented `pip install mcp-serp` instruction. 4. `pip` resolves and downloads the attacker-controlled release because no trusted version or hash is specified. 5. Malicious build, installation, or runtime logic executes with the installing user's privileges. 6. The payload may read accessible environment variables, including `ACEDATACLOUD_API_TOKEN`, modify user-accessible files, or perform network communication. ### Impact Assessment Successful exploitation can provide arbitrary code execution with the privileges of the account running `pip`. The accessible scope includes that user's files, environment variables, credentials, network access, and writable Python environments. If installation is performed with elevated privileges, the potential impact expands accordingly. No privilege escalation mechanism is present in the audited file itself.
Remediation
## Remediation Suggestions - Pin `mcp-serp` to a specifically reviewed version rather than installing the latest release implicitly. - Distribute a requirements file containing verified cryptographic hashes and install it with: ```bash pip install --require-hashes -r requirements.txt ``` - Document the authoritative package index and source repository so users can verify package provenance. - Review the selected release and its transitive dependencies before adoption. - Use a lockfile or equivalent dependency-resolution record to make installations reproducible. - Install the dependency in an isolated virtual environment under a non-privileged account. - Avoid exposing unrelated secrets to the installation process, and scope the API token to the minimum required permissions.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill sends user-provided search queries and localization data to a third-party API, but the documentation does not clearly warn users that this data leaves the local environment. This can lead to inadvertent disclosure of sensitive prompts, interests, locations, or internal research terms, especially if an agent uses the skill on user-derived or confidential input.

External Transmission

Medium
Category
Data Exfiltration
Content
## Quick Start

```bash
curl -X POST https://api.acedata.cloud/serp/google \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "latest AI news", "search_type": "search"}'
Confidence
90% confidence
Finding
This skill is explicitly designed to transmit search requests to `api.acedata.cloud`, so the external transmission is intentional and functional rather than covert. However, it is still security-relevant because any query content and accompanying parameters are sent to a third party, creating confidentiality and compliance risks if sensitive data is searched.

External Transmission

Medium
Category
Data Exfiltration
Content
## Quick Start

```bash
curl -X POST https://api.acedata.cloud/serp/google \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "latest AI news", "search_type": "search"}'
Confidence
90% confidence
Finding
This skill is explicitly designed to transmit search requests to `api.acedata.cloud`, so the external transmission is intentional and functional rather than covert. However, it is still security-relevant because any query content and accompanying parameters are sent to a third party, creating confidentiality and compliance risks if sensitive data is searched.

Rp1

Low
Category
MCP Rug Pull
Confidence
60% confidence
Finding
pip install without ==version installs the latest release, which could include malicious changes.

Static analysis

No suspicious patterns detected.