T09 · Insecure Skill Coding Practices
- Location
SKILL.md:25- Finding
Unauthenticated Public Exposure of the Remotion Development Server
- Content
View full analysis
&& npm run dev ``` The workflow then requires: ```bash bash skills/cloudflare-tunnel/scripts/tunnel.sh start 3000 ``` It instructs the agent to send the resulting public URL to the user. ### Technical Analysis The default workflow starts Remotion Studio on port 3000 and exposes that development service to the public Internet through a Cloudflare tunnel. The instructions do not require authentication, an access allowlist, explicit user consent, a review of exposed content, or verification that the development server is safe for public deployment. A public tunnel is not necessary for the core functionality of creating or rendering a video. Local preview, authenticated preview, or a rendered static artifact would satisfy the declared purpose with fewer privileges and a smaller attack surface. Consequently, mandatory tunneling exceeds the minimum network exposure required by the Skill. The workflow also does not require the tunnel to be stopped after previewing. The later tunnel-management section documents a stop command, but cleanup is not part of the mandatory workflow. This can leave the service exposed longer than intended. ### Attack Path 1. The Skill creates a video project containing unpublished media, brand assets, screenshots, or other project information. 2. It starts Remotion Studio on port 3000. 3. It creates a public Cloudflare tunnel to that port without authentication or access restrictions. 4. The public URL is disclosed, leaked through logs or conversation history, or otherwise obtained by an unauthorized party. 5. The unauthorized party accesses content and functionality exposed by the development server. 6. If the development server or its dependencies contain exploitable defects, the attacker ...[truncated 946 chars]- Remediation
View remediation
