Back to skill

Security audit

Trading Calendar Talking Clips

Security checks for vulnerabilities and agentic risk

Overview

This skill mostly does what it says, but it asks for broad account authority and silently updates its own package files by default.

Review before installing. This skill requires a Beatra account connection, keeps a persistent local token, can spend credits on approved generation tasks, sends limited installation/runtime registration data, and silently updates its own package unless disabled with the documented update command.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (44)

Context-Inappropriate Capability

Critical
Category
Not specified by scanner
Confidence
99% confidence
Finding

The requested music:generate capability is not supported by the skill description, which discusses trading-calendar talking clips from still photos. While less severe than wallet access, unnecessary media-generation rights still enlarge the token's abuse surface and violate least-privilege expectations.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill description does not indicate that it can uninstall packages, inspect local installation inventory, revoke authorization, and delete files under local application state. Those are sensitive administrative actions unrelated to the stated business purpose, and hiding them behind a benign media workflow creates significant trust and integrity risk.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill description does not indicate that it can uninstall packages, inspect local installation inventory, revoke authorization, and delete files under local application state. Those are sensitive administrative actions unrelated to the stated business purpose, and hiding them behind a benign media workflow creates significant trust and integrity risk.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill description does not indicate that it can uninstall packages, inspect local installation inventory, revoke authorization, and delete files under local application state. Those are sensitive administrative actions unrelated to the stated business purpose, and hiding them behind a benign media workflow creates significant trust and integrity risk.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
93% confidence
Finding

The manifest explicitly references a local credential file used for device-bearer authentication to a remote MCP service. In the context of an innocuous-seeming calendar-to-video skill, access to persistent credentials is dangerous because it can enable unauthorized use of the user's Beatra account or remote actions beyond the narrowly described task if the skill or connected service is abused.

Content

Scanner excerpt · manifest.json (reported line 53)May include surrounding context.

json
},
  "mcp": {
    "authentication": "device-bearer",
    "credential_file": "~/.beatra/credentials.json",
    "name": "beatra",
    "transport": "streamable-http",
    "url": "https://mcp.beatra.ai/mcp"

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

Claiming that one approval covers image, video, music, speech, upload, model, and task tools materially exceeds the manifest's narrowly described purpose. In this context, the skill could obtain user authorization for a much broader tool surface than needed, enabling misuse of unrelated media or model capabilities under the guise of a simple market-calendar talking-clip tool.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The documentation instructs use of a bundled generic MCP client for tool discovery and arbitrary tool invocation against an external endpoint. That is significantly broader than a fixed-purpose clip-generation skill and effectively exposes a general remote action surface that could be repurposed beyond the advertised function.

Content

No source excerpt is available for this finding.

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/installation-and-auth.md (reported line 14)May include surrounding context.

md
The host follows this computer's network route, described below.

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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/installation-and-auth.md (reported line 21)May include surrounding context.

md
The host follows this computer's network route, described below.

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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/installation-and-auth.md (reported line 53)May include surrounding context.

md
The host follows this computer's network route, described below.

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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · references/mcp-connection.md (reported line 12)May include surrounding context.

md
The host follows this computer's network route, described below.

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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/authorize.py (reported line 430)May include surrounding context.

python
The host follows this computer's network route, described below.

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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/authorize.py (reported line 1009)May include surrounding context.

python
The host follows this computer's network route, described below.

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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/mcp_client.py (reported line 1612)May include surrounding context.

python
The host follows this computer's network route, described below.

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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/uninstall.py (reported line 39)May include surrounding context.

python
The host follows this computer's network route, described below.

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

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · scripts/uninstall.py (reported line 121)May include surrounding context.

python
The host follows this computer's network route, described below.

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

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The authorization helper requests a very broad OAuth scope set, including artifacts, images, videos, music, speech, voices, tasks, and wallet spending, far beyond the stated purpose of producing market-calendar talking clips from photos. Overbroad scopes violate least privilege and materially increase blast radius if the credential is abused, leaked, or the skill behaves unexpectedly.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The requested music:generate capability is not supported by the skill description, which discusses trading-calendar talking clips from still photos. While less severe than wallet access, unnecessary media-generation rights still enlarge the token's abuse surface and violate least-privilege expectations.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The file implements a full self-update mechanism that downloads archives and replaces local package files, functionality far outside the declared creative purpose of the skill. Although there are integrity checks, this substantially enlarges the attack surface: compromise of the update channel, signing process, or vendor infrastructure can turn routine skill use into arbitrary code replacement on the host.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The client performs installation registration and inventory reporting that go beyond the skill's declared purpose of generating trading-calendar talking clips. It transmits package, installation, route, platform, and environment metadata to a remote service on normal use, creating a privacy and trust-boundary issue because these side effects are unrelated to the user-requested media workflow.

Content

No source excerpt is available for this finding.

Self-Modification

High
Category
Rogue Agent
Confidence
97% confidence
Finding

The skill exposes self-modifying behavior through a built-in self-update command, allowing local package bytes to be replaced by network-fetched content. In the context of a media-generation skill, self-modification is especially concerning because it is unrelated to core functionality and creates a path for persistent code changes on the host.

Content

Scanner excerpt · scripts/mcp_client.py (reported line 2396)May include surrounding context.

python
)
    update = subparsers.add_parser(
        "update",
        help="Check, install, or configure Beatra package self-updates",
    )
    update.add_argument(
        "--check",

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding

The skill invokes shell commands, reads local files, uploads artifacts, and performs network operations, but it does not declare an explicit tool scope such as permissions or allowed-tools. That creates a least-privilege failure: the host cannot clearly constrain what the skill is permitted to access, and users are not adequately warned about the operational surface.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill includes a self-updating mechanism that downloads and replaces package-owned files automatically, which is unrelated to generating trading-calendar videos. Any self-modifying capability increases supply-chain risk: if the update channel, verification logic, or package trust boundary fails, the skill can change behavior after review without fresh user approval.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The automatic update behavior modifies installed files without prominent disclosure in the user-facing skill description. Even if intended for maintenance, silent file replacement is a material system change that users should knowingly authorize, especially in a skill that already performs network and local-state operations.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

The changelog states that users in mainland China are routed through a specific mainland network and may be redirected to an international approval page, without any visible user choice or clear rationale in the manifest. Region-specific routing and approval behavior can alter trust boundaries, expose user metadata, and create consent and compliance risks, especially when undisclosed in a simple media-generation skill.

Content

No source excerpt is available for this finding.