Back to skill

Security audit

WeChat Channels Product Showcase Video Maker

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its product-video purpose, but it also uses broad Beatra account authorization and silent self-updates, so it belongs in Review before installation.

Review this before installing if you are not comfortable with a shared Beatra device token that can spend credits and access multiple Beatra tool categories, or with the package updating its own installed files automatically. The core video workflow is user-confirmed and well documented, but disable automatic updates if you want every package change to be deliberate.

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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • System Prompt LeakageDirect Leakage, Indirect Extraction, Tool-Based Exfiltration
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (41)

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill documentation references uninstall behavior, deletion of local state, inspection of installed skills, and revocation of shared authorization, all of which are outside the advertised media-generation role. Combining destructive local operations and credential lifecycle management inside a content-creation skill increases the blast radius if the skill is misused or compromised.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill documentation references uninstall behavior, deletion of local state, inspection of installed skills, and revocation of shared authorization, all of which are outside the advertised media-generation role. Combining destructive local operations and credential lifecycle management inside a content-creation skill increases the blast radius if the skill is misused or compromised.

Content

No source excerpt is available for this finding.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding

The skill documentation references uninstall behavior, deletion of local state, inspection of installed skills, and revocation of shared authorization, all of which are outside the advertised media-generation role. Combining destructive local operations and credential lifecycle management inside a content-creation skill increases the blast radius if the skill is misused or compromised.

Content

No source excerpt is available for this finding.

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · SKILL.md (reported line 97)May include surrounding context.

md
paid stage and confirm it before execution. Freeze explicit `9:16` and
  `720p` controls only when the selected live card admits them; if it derives
  output from source frames, confirm both boundaries are approved `9:16`
  frames and disclose that source-derived output rule instead.

If a user requests both a strict product first frame and a supplied motion
reference, explain the strict-frame and reference-video routes, their current

Direct Prompt Extraction

High
Category
System Prompt Leakage
Confidence
85% confidence
Finding

Skill contains instructions that could directly expose system prompts, internal rules, or hidden instructions to users or external parties.

Content

Scanner excerpt · references/workflow.md (reported line 136)May include surrounding context.

md
paid stage and confirm it before execution. Freeze explicit `9:16` and
  `720p` controls only when the selected live card admits them; if it derives
  output from source frames, confirm both boundaries are approved `9:16`
  frames and disclose that source-derived output rule instead.

If a user requests both a strict product first frame and a supplied motion
reference, explain the strict-frame and reference-video routes, their current

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 · manifest.json (reported line 66)May include surrounding context.

json
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 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

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The OAuth scope string requests a very broad set of capabilities far beyond the stated purpose of creating a WeChat product video from product photos and metadata. If the issued credential is later used by this skill or any shared runtime component, compromise or misuse would grant access to unrelated high-value operations such as wallet spending, voice management, and task/artifact access, violating least privilege.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

tasks:cancel is less severe than spending or credential-management scopes, but it still permits interference with unrelated operations and is not obviously necessary for the described product-video workflow. In a shared account or shared runtime, this could be abused to disrupt other active jobs.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill implements a full self-update mechanism that downloads remote manifests and archives, writes package files, maintains locks/journals, and changes the local installation, which is far beyond the advertised purpose of generating WeChat product videos. Even with checksum and path checks, a content-creation skill that can silently replace its own code materially expands trust and creates a software-supply-chain risk if the vendor infrastructure, discovery document, signing process, or update channel is compromised.

Content

No source excerpt is available for this finding.

Self-Modification

High
Category
Rogue Agent
Confidence
95% confidence
Finding

The presence of a built-in self-update command confirms that this skill can intentionally modify its own installed code, which exceeds the reasonable expectations for a product-video generator. In context, self-modification is especially concerning because the skill's declared function is narrow and creative, so code-changing behavior represents hidden privileged capability rather than core functionality.

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",

Credential Access

High
Category
Privilege Escalation
Confidence
98% confidence
Finding

The function reads an access token from ~/.beatra/credentials.json so it can use that bearer token to call the revocation endpoint. Accessing shared credentials from within a skill uninstall script is dangerous because it grants the package direct interaction with authentication material outside its declared purpose, and a compromised or altered script could exfiltrate or misuse the token.

Content

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

python
def _device_token(state_dir: Path) -> str | None:
    path = state_dir / "credentials.json"
    try:
        value = json.loads(path.read_text(encoding="utf-8"))
    except (OSError, ValueError):

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill declares no explicit tool scope even though its instructions require shell, network, file access, and environment interaction via a bundled client. That creates an overly broad and opaque execution surface, making it harder for a host to enforce least privilege or for users to understand what the skill can do.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill includes an automatic self-update mechanism that can replace package-owned files, which is unrelated to the core task of creating product videos. Any auto-update path materially increases supply-chain risk because future code changes can alter behavior after initial review, especially when the skill already has shell, file, and network capabilities.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The documentation says updates can install automatically without separate confirmation, but the skill's top-level description does not prominently warn that local package-owned files may be modified. Users may therefore grant trust for a media workflow without realizing the package can later change itself on disk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The manifest changelog explicitly states the helper connects through a mainland China network by default and may open an approval page on an international site, but there is no indication of explicit user opt-in, clear routing disclosure, or consent handling in the manifest. Routing authentication or helper traffic through region-specific infrastructure can affect privacy, compliance, and trust boundaries, especially if users are unaware their sign-in flow or data path changes by geography.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

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

json
"icon": "https://beatra.ai/textures/icons/wechat-channels-product-video-0.1.1.png",
  "localized": {
    "en": {
      "description": "Create a vertical WeChat Channels product-display video from a real product photo and confirmed product information. Shape a clear product opening, one detail or use moment, and a clean ending, then prepare the finished product video with a title and publishing copy for WeChat Channels product content, including a new-product showcase video.",
      "display_name": "WeChat Channels Product Showcase Video Maker",
      "summary": "Turn a real product photo and confirmed product details into a clear vertical WeChat Channels product showcase video, title, and publishing copy.",
      "tags": [

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The document states that the client silently checks for updates and installs newer versions automatically without separate confirmation. Even though later text describes integrity checks and rollback protections, silently replacing executable package files by default can surprise users, change local behavior unexpectedly, and increase supply-chain risk if the trusted update infrastructure is ever compromised.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.