Nanobanana Skill

AdvisoryAudited by Static analysis on Apr 30, 2026.

Overview

No suspicious patterns detected.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A mistaken or overbroad agent action could run local Python commands or access files beyond the intended image-generation task.

Why it was flagged

The skill grants local file helpers and Python command execution. This is mostly aligned with running the included image script, but it is broader than a pure instruction-only workflow.

Skill content
allowed-tools: Read, Write, Glob, Grep, Task, Bash(cat:*), Bash(ls:*), Bash(tree:*), Bash(python3:*)
Recommendation

Review the commands before allowing them, and keep execution limited to the included nanobanana.py script and the documented dependency install.

What this means

The skill can use the configured Gemini account/API key and may incur provider usage or billing under that key.

Why it was flagged

The script uses a local Gemini API key. This is expected for a Gemini image tool, but the registry metadata lists no required env vars or primary credential.

Skill content
load_dotenv(os.path.expanduser("~") + "/.nanobanana.env") ... api_key = os.getenv("GEMINI_API_KEY")
Recommendation

Use a dedicated or restricted API key where possible, keep ~/.nanobanana.env private, and monitor Gemini API usage.

What this means

Future dependency versions could change behavior or introduce vulnerabilities.

Why it was flagged

The dependency list is unpinned, and SKILL.md instructs installing it with pip. This is a normal setup pattern, but package versions and provenance are not locked.

Skill content
python-dotenv
httpx[socks]
google-genai
Pillow
Recommendation

Install in a virtual environment, review packages before installing, and prefer pinned versions or a lockfile for repeatable installs.

What this means

Private prompts or images provided for editing may be transmitted to Google services.

Why it was flagged

The script sends prompts and user-selected input images to the Gemini provider call, and it enables Google Search in the model configuration. This is purpose-aligned, but users should understand that data leaves the local machine.

Skill content
contents.append(args.prompt) ... contents.append(image) ... client.models.generate_content(... tools=[types.Tool(google_search=types.GoogleSearch())])
Recommendation

Avoid using sensitive images or confidential prompts unless you are comfortable with the provider's data handling terms; disable the Google Search tool if it is not needed.