expo-skill-eval
Pass
Audited by Gen Agent Trust Hub on Aug 14, 2026
Risk Level: SAFECOMMAND_EXECUTIONEXTERNAL_DOWNLOADSPROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The skill orchestrates subagents using the
claude -p(Claude Code CLI) to perform automated coding tasks. It explicitly asks the user for permission to use the--dangerously-skip-permissionsflag, which allows these subagents to execute commands and write files unattended within a designated fixture directory. - [COMMAND_EXECUTION]: The
clean-fixture.shscript manages local development server ports using thelsofandkill -9commands to ensure a clean state for subsequent test iterations. - [EXTERNAL_DOWNLOADS]: The harness fetches Expo project templates and dependencies from the official NPM registry via
bunx create-expo-appandbunx expo install. It also downloads the Chromium browser for web screenshots usingbunx playwright installfrom Microsoft's official sources. - [DYNAMIC_EXECUTION]: The pipeline generates Python orchestrator scripts and Bash scripts at runtime within the
/private/tmp/expo-skill-eval-*workspace to manage test flow and data aggregation. These scripts are executed via thepython3andbashinterpreters as permitted by the skill's tool configuration. - [INDIRECT_PROMPT_INJECTION]: The skill processes external inputs, including user-defined text prompts and local screenshot files, which are passed to subagents to drive the generation of app code. While these subagents run in isolated fixture environments, the ingestion of arbitrary external data represents a potential attack surface for indirect prompt injection.
- Ingestion points: Eval case
promptfields andreference_imagefile paths (SKILL.md, run_executors.py). - Boundary markers: The executor subagents are given specific system instructions to operate only within a provided fixture directory, though no explicit filtering is applied to the content of user-provided images.
- Capability inventory: Subagents have full file-write and command-execution capabilities within the temporary fixture directory to build and configure the Expo app.
- Sanitization: External inputs are interpolated directly into instructions for the
claude -psubagent without specialized sanitization filters.
Audit Metadata