T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/authorize.py:32- Finding
Overprivileged Shared Device Token and Unrestricted Tool Dispatch
- Content
View full analysis
dict[str, Any]: session = _session_with_registration( state_dir=Path.home() / ".beatra", post_json=_default_post_json, ) if command == "tools": return session.request(2, "tools/list", {}) try: arguments = json.load(os.sys.stdin) except json.JSONDecodeError as exc: raise RuntimeError("Tool arguments on stdin must be one JSON object") from exc if not isinstance(arguments, dict): raise RuntimeError("Tool arguments on stdin must be one JSON object") assert tool_name is not None return session.request( 2, "tools/call", {"name": tool_name, "arguments": arguments}, ) ``` ### Technical Analysis The Skill's declared function is to generate KYC guide images from user-supplied checklist text. This requires image generation, optional artifact upload, model discovery, task status access, and limited wallet information. However, the requested Device Token additionally authorizes video generation, music generation, speech generation, voice-resource writes, wallet spending, artifact reads, and task cancellation. The credential is also documented as shared by all installed Beatra Skills. The lo ...[truncated 1622 chars]- Remediation
View remediation
