T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/authorize.py:34- Finding
Overprivileged Device Token and Unrestricted MCP Tool Invocation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly coherent for making risk-grade images, but it requests broad Beatra account/media authority and can silently replace its own files through updates.
Review this before installing if you are not comfortable granting a broad Beatra device authorization shared across Beatra skills, allowing a generic MCP client to call remote tools with that token, or permitting silent package updates. Consider disabling automatic updates with the provided command after install and only authorize from an account where these Beatra capabilities and possible credit use are acceptable.
scripts/authorize.py:34Overprivileged Device Token and Unrestricted MCP Tool Invocation
scripts/mcp_client.py:969Unsigned Silent Remote Updates Can Replace Executable Skill Files
The scope includes voices:read, voices:write, speech:generate, music:generate, and videos:generate even though the skill is presented as a still-image risk-grade package. These excess permissions create unnecessary access to unrelated media features and expand the consequences of token theft or hidden behavior.
A skill advertised for creating risk-grade visuals should not also include uninstall/revocation behavior that reads local credentials, modifies ~/.beatra state, contacts revocation endpoints, and deletes local files. This hidden administrative capability materially changes the risk profile because it can affect local configuration and account connectivity unrelated to the user's requested media task.
A skill advertised for creating risk-grade visuals should not also include uninstall/revocation behavior that reads local credentials, modifies ~/.beatra state, contacts revocation endpoints, and deletes local files. This hidden administrative capability materially changes the risk profile because it can affect local configuration and account connectivity unrelated to the user's requested media task.
A skill advertised for creating risk-grade visuals should not also include uninstall/revocation behavior that reads local credentials, modifies ~/.beatra state, contacts revocation endpoints, and deletes local files. This hidden administrative capability materially changes the risk profile because it can affect local configuration and account connectivity unrelated to the user's requested media task.
Referenced artifact was not completely inspected
Submit once through bundled `scripts/mcp_client.py`. Poll
Referenced artifact was not completely inspected
Submit once through bundled `scripts/mcp_client.py`. Poll
Referenced artifact was not completely inspected
Submit once through bundled `scripts/mcp_client.py`. Poll
Referenced artifact was not completely inspected
Submit once through bundled `scripts/mcp_client.py`. Poll
Referenced artifact was not completely inspected
Submit once through bundled `scripts/mcp_client.py`. Poll
Referenced artifact was not completely inspected
Submit once through bundled `scripts/mcp_client.py`. Poll
Referenced artifact was not completely inspected
Submit once through bundled `scripts/mcp_client.py`. Poll
Referenced artifact was not completely inspected
[installation and authentication](references/installation-and-auth.md)
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
```
They share the one full-scope Device Token stored in
`~/.beatra/credentials.json`. Installing or switching packages must not trigger
another authorization when that credential is already valid. Do not add,
enable, trust, or configure a host Beatra Connector. Never print or move the
token into command arguments, environment variables, logs, chat, or another
The OAuth scope set is far broader than this skill’s stated purpose of generating still-image risk-grade assets. It requests unrelated capabilities including task control, artifact access, voice/media generation, and other permissions that violate least privilege; if the token is misused or the skill is compromised, the blast radius extends well beyond the advertised functionality.
The scope includes voices:read, voices:write, speech:generate, music:generate, and videos:generate even though the skill is presented as a still-image risk-grade package. These excess permissions create unnecessary access to unrelated media features and expand the consequences of token theft or hidden behavior.
The file implements a full remote MCP client with credential handling, remote tool execution, file upload, telemetry, and package self-update capabilities that materially exceed the stated purpose of turning user-supplied risk-grade definitions into still graphics. In this skill context, the capability mismatch is dangerous because installing a seemingly content-focused skill grants broad network and local-file modification powers that could be abused if the remote service or package channel is compromised.