banana

Pass

Audited by Gen Agent Trust Hub on Oct 24, 2026

Risk Level: SAFEDATA_EXFILTRATIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
  • [DATA_EXFILTRATION]: The skill performs authenticated network requests to a remote service required for its primary functionality.
  • Evidence: Uses urllib.request in scripts/banana_core.py to communicate with 'generativelanguage.googleapis.com'.
  • Context: This is the official Google Gemini API endpoint. Credentials (API keys) are handled via standard environment variables and are never hardcoded or echoed in output.
  • [INDIRECT_PROMPT_INJECTION]: The skill ingests untrusted user prompts and asset metadata, creating a potential surface for injection.
  • Ingestion points: Prompts and reference image metadata are processed in scripts/generate.py, scripts/edit.py, and scripts/mcp_server.py.
  • Boundary markers: Instructions in SKILL.md and references/prompt-engineering.md command the agent to treat all external assets, search results, and metadata as untrusted visual data.
  • Capability inventory: Capabilities include network access to Google APIs and local file system writes.
  • Sanitization: scripts/banana_core.py implements a robust validate_approval_text function that filters bidirectional control characters and Unicode surrogates to mitigate display-based attacks.
  • [DYNAMIC_EXECUTION]: The skill uses Python's ctypes library to access low-level operating system APIs.
  • Evidence: scripts/banana_core.py, scripts/cost_tracker.py, and scripts/presets.py use ctypes.CDLL(None) to invoke renameat2, renameatx_np, and linkat.
  • Context: These calls are used strictly as a security measure to implement atomic, 'no-replace' file publication. This ensures that output artifacts and state files are written securely without race conditions or the risk of overwriting existing user data.
Audit Metadata
Risk Level
SAFE
Analyzed
Oct 24, 2026, 08:02 AM