nanobanana-image-generation
Pass
Audited by Gen Agent Trust Hub on Sep 21, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTIONDATA_EXFILTRATION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill processes user-supplied scientific background text to construct prompts for image generation.
- Ingestion points: Untrusted data enters the context through the
backgroundpositional argument or--background-fileinscripts/build_materials_figure_prompt.py,scripts/generate_image.py, andscripts/generate_image.js. - Boundary markers: The skill utilizes structured templates (e.g., in
references/materials-science-figure-templates.json) to wrap user content, but it lacks explicit instructions for the model to ignore potential malicious directives embedded within the scientific text. - Capability inventory: The skill has the capability to execute subprocesses (via the provided scripts) and perform network operations to model provider endpoints.
- Sanitization: There is no evidence of sanitization or escaping of the user-provided text before it is formatted into the prompt templates.
- [DATA_EXFILTRATION]: The skill transmits prompt data and API keys to external endpoints.
- Evidence: Both
scripts/generate_image.pyandscripts/generate_image.jsperform network POST requests to the configuredNANOBANANA_BASE_URL. - Controls: The scripts include a security mechanism (
assert_endpoint_allowed) that prevents transmission to any host other than the official Google Gemini endpoint (generativelanguage.googleapis.com) unless the user explicitly enables third-party support via theNANOBANANA_ALLOW_THIRD_PARTYenvironment variable or the--allow-third-partyCLI flag. - [COMMAND_EXECUTION]: The skill relies on the execution of multiple bundled Python and Node.js scripts to perform its core functions, including plotting and image generation.
- Evidence:
scripts/plot_publication_figure.pyusesmatplotlibandnumpyto render plots from local JSON specifications, andscripts/generate_image.pyinteracts with remote APIs usingurllib.
Audit Metadata