crayon-storybook
Pass
Audited by Gen Agent Trust Hub on Oct 5, 2026
Risk Level: SAFEDYNAMIC_EXECUTIONCOMMAND_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTION
Full Analysis
- [DYNAMIC_EXECUTION]: The animation runtime utilizes
eval()to process dynamic coordinate expressions provided via command-line arguments.\n - Evidence:
template/src/core.jscontainsif (at) at = at.map((v) => typeof v === 'string' ? (0, eval)(v) : v);within thewindow.renderSheetfunction.\n- [DYNAMIC_EXECUTION]: The build process includes a script that programmatically modifies the source code of a dependency to adjust rendering behavior.\n - Evidence:
template/patch_brush.mjsreads thep5.brushlibrary source and replaces constants before writing a patched version.\n- [COMMAND_EXECUTION]: The rendering utility executes external binary tools to process video frames and encode final output.\n - Evidence:
template/render.mjsspawnsffmpegprocesses for video encoding and searches for system-wide Chrome/Chromium executables.\n- [EXTERNAL_DOWNLOADS]: The project scaffolding script installs dependencies from the NPM registry.\n - Evidence:
scripts/new_project.shexecutesnpm installto fetch libraries likepuppeteer-coreandp5.\n- [INDIRECT_PROMPT_INJECTION]: The skill identifies an attack surface where inputs provided to the renderer are evaluated as code within the browser context.\n - Ingestion points: Command-line arguments in
template/render.mjs(specifically--crop-at).\n - Boundary markers: None.\n
- Capability inventory: The browser environment can execute arbitrary JavaScript; the rendering script can spawn shell commands (
ffmpeg).\n - Sanitization: Expression strings are evaluated without prior validation.
Audit Metadata