papercut-build
Pass
Audited by Gen Agent Trust Hub on Oct 17, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADS
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted input from
STORYBOARD.md,narration/script.json, andepisode.jsonfiles. These inputs are used to drive the video build process and are passed to parallel sub-agents (e.g.,papercut-scene). There are no explicit boundary markers or sanitization steps described to prevent malicious instructions within these data files from influencing the agents or the generated code output. - Ingestion points:
STORYBOARD.md,narration/script.json, andepisode.json(referenced inSKILL.md). - Boundary markers: Absent.
- Capability inventory: Execution of various shell, Python, and Node.js scripts (
new_episode.sh,render.sh,stubs.py,render.mjs) and sub-agent spawning. - Sanitization: Absent.
- [DYNAMIC_EXECUTION]: The skill generates source code dynamically during the workflow. Specifically,
stubs.pycreatessrc/scenes/index.tsand scene stubs, and sub-agents are expected to write React component files (src/scenes/<Scene>.tsx). While this is central to the skill's purpose, it creates a surface for code injection if the inputs or templates are manipulated. - [COMMAND_EXECUTION]: The skill relies heavily on the execution of local scripts (Shell, Python, and Node.js) located within the path defined by the
$PAPERCUT_LIBenvironment variable. These scripts manage project scaffolding, audio/video rendering, and asset harvesting. - [EXTERNAL_DOWNLOADS]: The skill instructions involve downloading external resources, such as the
remotion-dev/skillspackage vianpxand headless Chrome for rendering. Additionally, thecapture.mjstool fetches content from arbitrary user-provided URLs to generate asset screenshots, which could be misused for server-side request forgery (SSRF) or information gathering if the browser environment is not properly isolated.
Audit Metadata