scientific-writing

Pass

Audited by Gen Agent Trust Hub on Sep 25, 2026

Risk Level: SAFECOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
  • [COMMAND_EXECUTION]: The skill instructs the agent to execute local Python scripts (scripts/generate_schematic.py and scripts/generate_image.py) via the Bash tool to perform its primary functions. While these scripts are part of the skill's distribution, they represent an entry point for local command execution based on user-provided descriptions.
  • [DYNAMIC_EXECUTION]: The script scripts/generate_schematic.py uses subprocess.run to invoke scripts/generate_schematic_ai.py. Although arguments are passed as a list to prevent shell injection, the runtime assembly of command-line calls for internal scripting is a dynamic execution pattern.
  • [INDIRECT_PROMPT_INJECTION]: A vulnerability surface exists in scripts/generate_schematic_ai.py where user input (user_prompt) is directly interpolated into a larger prompt template sent to an external LLM.
  • Ingestion points: User-supplied figure descriptions passed as arguments to generate_schematic.py in SKILL.md.
  • Boundary markers: Absent; the prompt template in ScientificSchematicGenerator lacks delimiters to segregate instructions from user data.
  • Capability inventory: The skill possesses file-write capabilities (saving images) and network access (OpenRouter API).
  • Sanitization: No escaping or validation is performed on the user prompt before it is included in the outgoing API request, allowing for potential manipulation of the image generation or review logic.
  • [DATA_EXPOSURE]: The check_env_file function in the generation scripts traverses parent directories searching for .env files to locate the OPENROUTER_API_KEY. In an agentic environment, this wide search scope could lead to the unintended exposure of sensitive configuration files located outside the skill's immediate workspace if the agent is operating in a nested directory structure.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 25, 2026, 02:34 PM