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.requestinscripts/banana_core.pyto 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, andscripts/mcp_server.py. - Boundary markers: Instructions in
SKILL.mdandreferences/prompt-engineering.mdcommand 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.pyimplements a robustvalidate_approval_textfunction that filters bidirectional control characters and Unicode surrogates to mitigate display-based attacks. - [DYNAMIC_EXECUTION]: The skill uses Python's
ctypeslibrary to access low-level operating system APIs. - Evidence:
scripts/banana_core.py,scripts/cost_tracker.py, andscripts/presets.pyusectypes.CDLL(None)to invokerenameat2,renameatx_np, andlinkat. - 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