T09 · Insecure Skill Coding Practices
- Location
SKILL.md:565- Finding
Authenticated Dashboard Screenshots Are Published Through Long-Lived Public URLs
- Content
View full analysis
" }) User_Browser({ action:"type", sessionId, selector:"input[name=password]", text:"", submit:true }) // (retrieve / via Get_Credentials, never paste into runInstructions) 3. For each beat: User_Browser({ action:"navigate", sessionId, url:"https://app.example.com/dashboard/" }) User_Browser({ action:"wait", sessionId, selector:".dashboard-ready" }) s = User_Browser({ action:"screenshot", sessionId }) // The screenshot tool writes the PNG to /tmp/user_browser__.png // inside User_Browser's E2B sandbox and returns // { result: { dataUrl, file_path, sandboxId } }. pub = E2B_File_Manager({ action:"upload_public", file_path: s.result.file_path }) // Do NOT pass sandboxId — every User_Browser call pins its sandbox as the // task's persistent sandbox, so the file_manager dispatcher auto-routes // to the same sandbox the screenshot was written into. Passing the wrong // sandboxId is the single most common cause of "file does not exist" // failures here. // // pub.publicUrl is the Firebase Storage download URL — that's what you // forward to Seedance / Image_Generation / Video_Generation downstream. 4. User_Browser({ action:"stop", se ...[truncated 3034 chars]- Remediation
View remediation
