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.mjsusesimport()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
--briefand--scriptflags in variousrun.mjsentry 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) viareferences/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.mjsand strips markdown fences before parsing LLM output. - [COMMAND_EXECUTION]: The skill executes external binaries (
ffmpeg,ffprobe) using Node.jsexecFileinreferences/studio-core/scripts/lib/media.mjs. WhileexecFileis 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