preview-my-work
Pass
Audited by Gen Agent Trust Hub on Sep 18, 2026
Risk Level: SAFECOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTIONREMOTE_CODE_EXECUTION
Full Analysis
- [COMMAND_EXECUTION]: The
scripts/update-preview.pyscript executes multiple system commands usingsubprocess.run, includinggit,daytona, andpnpm. These are used to manage the preview lifecycle and environment within the sandbox. - [DYNAMIC_EXECUTION]: The
update-preview.pyscript dynamically constructs a Python program as a string and executes it inside a remote Daytona sandbox usingpython3 -c. - Evidence: The script uses
remote.replace("REF", repr(args.ref)).replace("WEB", repr(web))to inject arguments into a code template before execution. - Mitigation: The script applies strict regex validation to input arguments (
--refmust be a 40-character hex string) and usesshlex.quoteandrepr()to safely handle injected values. - [REMOTE_CODE_EXECUTION]: The skill is designed to download and execute code from remote repository branches/commits to generate previews.
- Evidence:
git fetch origin reffollowed bypnpm installandpnpm buildwithin the sandbox. - Mitigation: The skill enforces the use of full 40-character commit SHAs to prevent branch hijacking and executes the code within isolated Daytona sandboxes.
- [INDIRECT_PROMPT_INJECTION]: The skill processes user-supplied data such as commit SHAs and stage names which are used to control the build process.
- Ingestion points: Command-line arguments (
--ref,--stage) inscripts/update-preview.py. - Boundary markers (absent): No specific delimiters are used in the prompt instructions to isolate these inputs, though the helper script enforces strict formatting.
- Capability inventory: File writing (
/tmp/preview-update.log), network operations (git fetch), and process management (os.kill) are performed by the script. - Sanitization: Inputs are strictly validated against regex patterns (
[0-9a-f]{40}) before being used in commands or scripts.
Audit Metadata