Back to skill

Security audit

Nano Banana Image

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent image-generation guide for AceDataCloud, with normal third-party API use and an optional unpinned MCP install users should review.

Before installing or using this skill, confirm you trust AceDataCloud with your prompts and any source image URLs, avoid sending confidential or personal content unless you have reviewed their terms, keep the API token scoped where possible, and install the optional MCP package only in an isolated environment from a version you have reviewed.

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:66
Finding
Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 66-68 **Vulnerability Type**: Supply-chain risk from an unpinned third-party dependency **Risk Level**: Medium **Vulnerable Code:** ```bash pip install mcp-nano-banana ``` ### Technical Analysis The documented installation command retrieves and installs the latest available release of `mcp-nano-banana` without an exact version constraint, cryptographic hash verification, lockfile, or other integrity control. Consequently, the installed artifact can change after the Skill has been reviewed. Python package installation may execute build-system hooks when a source distribution is used. Installed packages can also execute arbitrary code when imported or invoked. A compromised package repository account, malicious future release, or upstream supply-chain compromise could therefore introduce attacker-controlled code into systems whose users follow this instruction. No evidence establishes that the current package is malicious; the vulnerability is the absence of controls that ensure users receive a specifically reviewed artifact. ### Attack Path 1. An attacker compromises the package publisher account, distribution process, or another relevant upstream component. 2. The attacker publishes a malicious release of `mcp-nano-banana`. 3. A user follows the documented `pip install mcp-nano-banana` instruction. 4. `pip` resolves the uncontrolled current release rather than a known, reviewed version. 5. Attacker-controlled code executes during a source build or when the installed MCP package is subsequently imported or launched. 6. The code operates with the privileges and environment access of the installing or executing user. ### Impact Assessment Successful exploitation could permit arbitrary code execution with the privileges of the user installing or running the package. The affected scope may include files accessible to that user, active environment variables, net ...[truncated 305 chars]
Remediation
## Remediation Suggestions - Pin the dependency to an exact, security-reviewed version, for example: ```bash pip install "mcp-nano-banana==<reviewed-version>" ``` - Verify distribution integrity with approved SHA-256 hashes and install using a hash-enforced requirements file: ```bash pip install --require-hashes -r requirements.txt ``` - Commit a lockfile or equivalent reproducible dependency manifest that also constrains transitive dependencies. - Document the verified package publisher and official repository so users can validate provenance. - Prefer signed artifacts or package attestations where the package ecosystem and publisher support them. - Install and run the MCP server in an isolated virtual environment or container with minimal filesystem, credential, and network access. - Review new versions before updating the pinned version, rather than automatically consuming the latest release.
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
96% confidence
Finding
The documentation instructs users to send prompts and, for editing, `image_url` data to AceDataCloud's external API but does not clearly warn that this content is transmitted to a third party. Users may unknowingly submit sensitive prompts, proprietary image links, or personal data, creating privacy, compliance, and data-handling risks.

External Transmission

Medium
Category
Data Exfiltration
Content
## Quick Start

```bash
curl -X POST https://api.acedata.cloud/nano-banana/images \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "a watercolor painting of a French countryside village", "model": "nano-banana"}'
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
## Quick Start

```bash
curl -X POST https://api.acedata.cloud/nano-banana/images \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "a watercolor painting of a French countryside village", "model": "nano-banana"}'
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

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.