T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/authorize.py:34- Finding
Over-Privileged Device Token Grants Unrelated Media, Voice, Billing, and Cancellation Capabilities
- 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 wealth open-calendar still images from user-supplied dates. The minimum required authorization would therefore be limited to image generation, required model discovery, artifact handling, and narrowly scoped task status operations. Instead, authorization requests a shared bearer token with capabilities for: - Video generation - Music generation - Speech generation - Voice reading and writing - Wallet spending - Task cancellation - Broad artifact reading and writing These capabilities are unrelated to the calendar-image workflow. The generic `call` command also accepts an arbitrary server tool nam ...[truncated 1504 chars]- Remediation
View remediation
