writing-workflows

Warn

Audited by Gen Agent Trust Hub on Oct 31, 2026

Risk Level: MEDIUMDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTIONCOMMAND_EXECUTION
Full Analysis
  • [DYNAMIC_EXECUTION]: The module loader in references/studio-core/scripts/lib/drafts.mjs uses import() to load modules from paths derived from environment variables (STUDIO_CORE_TEXT_ENTRY). This pattern allows for the dynamic execution of code from computed paths if the environment is compromised.
  • [INDIRECT_PROMPT_INJECTION]: The skill ingests user-supplied content such as briefs and transcripts which are then processed by an LLM. The resulting structured data influences file system operations and media processing.
  • Ingestion points: User input provided via the --brief and --script flags in various run.mjs entry points (e.g., references/studio-script/scripts/lib/run.mjs).
  • Boundary markers: The skill uses response_format: { type: 'json_object' } and explicit schema validation to constrain LLM outputs to expected shapes.
  • Capability inventory: The skill executes shell commands (ffmpeg, ffprobe) via references/studio-core/scripts/lib/media.mjs, performs file system reads/writes for drafts and logs, and makes network requests to OpenRouter and Cloudflare R2.
  • Sanitization: Implements custom JSON schema validation in references/studio-core/scripts/lib/validate.mjs and strips markdown fences before parsing LLM output.
  • [COMMAND_EXECUTION]: The skill executes external binaries (ffmpeg, ffprobe) using Node.js execFile in references/studio-core/scripts/lib/media.mjs. While execFile is generally safer than spawning a shell, some arguments for these commands are derived from LLM-generated data, creating a potential exploitation surface if the LLM output is manipulated through adversarial input.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Oct 31, 2026, 03:10 AM