Back to skill

Security audit

photo-singing-video

Security checks across malware telemetry and agentic risk

Overview

The skill matches its singing-photo purpose, but it should be reviewed because it grants a broad shared paid Beatra token and silently self-updates local package code by default.

Install only if you are comfortable giving this Beatra package a shared local bearer token that can run paid Beatra operations and accepting default silent package updates. Consider disabling automatic updates with the documented update --auto off command, watch for the admission card before any paid generation, and revoke the device from the Beatra Console if you no longer use it.

SkillSpector

By NVIDIA
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 (18)

Lp3

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding
The skill exercises sensitive capabilities including shell, network, file read/write, and environment access without declaring permissions or surfacing them clearly to the user. This weakens transparency and consent, making it easier for a seemingly simple media workflow to perform broader local and remote actions than users would reasonably expect.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The advertised behavior is narrowly framed as creating a singing portrait video, but the skill also describes credential acquisition and storage, generic remote tool invocation, uploads, telemetry/registration, uninstall actions, and package lifecycle management. That mismatch is dangerous because users may approve the skill under false assumptions while it performs broader privileged operations and persistent system changes.

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The skill contains self-updating package behavior unrelated to the core task, which introduces supply-chain risk and allows code on the local installation to change over time after initial approval. Even with stated verification, automatic replacement of package-owned files expands the trust boundary and can turn a media-generation workflow into an execution path for newly delivered code.

Description-Behavior Mismatch

Medium
Confidence
90% confidence
Finding
The file documents automatic installation registration and environment reporting that are not necessary for the declared photo-singing-video functionality. Collecting and transmitting package, platform, and external installation reference data on first use expands the skill's data exposure surface and can enable user or environment tracking without a clear functional justification.

Context-Inappropriate Capability

Medium
Confidence
92% confidence
Finding
The documented use of a stable external installation reference creates a persistent tracking mechanism unrelated to generating a singing portrait video. Even if described as non-billable, a durable installation identifier can correlate runs across time and environments, creating avoidable privacy and telemetry risk for users of a creative media skill.

Description-Behavior Mismatch

High
Confidence
99% confidence
Finding
The authorization flow requests a very broad OAuth scope set, including images, videos, music, speech, voices, task control, artifact access, and wallet spending, while the skill is described as a narrow photo-to-singing-video workflow. This violates least-privilege and means compromise or misuse of this skill grants capabilities far beyond what users would reasonably expect.

Context-Inappropriate Capability

Critical
Confidence
100% confidence
Finding
Requesting wallet:spend gives the skill authority to incur charges or spend user funds, yet nothing in the skill description justifies payment operations. If the credential is abused, the impact extends from content generation misuse to direct financial loss.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The code detects and transmits host platform information and device hostname during authorization, which is not necessary for a simple photo-singing workflow. This creates avoidable privacy leakage and host fingerprinting that can aid tracking, profiling, or correlation of installations across environments.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
The client contains a full self-update mechanism that downloads a remote archive and replaces local installation files, which is outside the declared purpose of generating a photo-singing video. Even with checksum and manifest validation, this creates a remote code replacement path and materially expands trust and attack surface for a creative media skill.

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The code records local skill inventory and sends installation registration telemetry unrelated to the stated photo animation workflow. This creates unnecessary collection and transmission of device-local metadata, increasing privacy risk and enabling tracking across runs or environments.

Context-Inappropriate Capability

Medium
Confidence
89% confidence
Finding
The runtime fingerprints the host by inspecting environment variables and local host metadata to infer the agent platform. For a photo-singing-video skill, this host identification is not necessary for core functionality and increases privacy exposure while aiding environment profiling.

Context-Inappropriate Capability

Medium
Confidence
93% confidence
Finding
Normal command execution triggers best-effort remote installation telemetry before or around business operations, despite this being unrelated to making a photo sing. Silent telemetry on ordinary use creates undisclosed metadata exfiltration and broadens remote visibility into local installations.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
Installing newer releases without separate confirmation is risky because the code that will run in future invocations can materially change after the user initially trusted the skill. The danger is increased here because the behavior is disclosed deep in the document rather than as a prominent warning attached to the primary workflow and its local/system/network capabilities.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The document states that the client silently checks for updates and automatically installs newer versions without separate confirmation, which changes local code and files without an explicit just-in-time warning. Even with integrity checks and rollback protections, silent self-update behavior increases supply-chain and change-management risk because users may not realize their installation can be modified automatically before normal commands run.

Missing User Warnings

Low
Confidence
84% confidence
Finding
The documentation states that registration occurs on first use, but it does not clearly warn users in a prominent, user-facing way that platform/environment data will be transmitted. This weak transparency undermines informed consent and makes covert-seeming telemetry more concerning in the context of a simple media creation skill.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The client can silently auto-update and modify installed package files without user-facing confirmation, which is especially risky in an agent skill context where users expect narrow, task-specific behavior. Silent code replacement weakens change control and can turn any compromise of the update channel or vendor account into code execution on the host.

Credential Access

High
Category
Privilege Escalation
Content
},
  "mcp": {
    "authentication": "device-bearer",
    "credential_file": "~/.beatra/credentials.json",
    "name": "beatra",
    "transport": "streamable-http",
    "url": "https://mcp.beatra.ai/mcp"
Confidence
93% confidence
Finding
The manifest explicitly references a local credential file containing bearer authentication material for an external MCP service. Any skill with access to such credentials increases the risk of unauthorized API use, token theft, or privilege misuse if the runtime exposes file paths or if downstream components overreach; in this context, the skill also handles sensitive user media, making account misuse more consequential.

Self-Modification

High
Category
Rogue Agent
Content
)
    update = subparsers.add_parser(
        "update",
        help="Check, install, or configure Beatra package self-updates",
    )
    update.add_argument(
        "--check",
Confidence
96% confidence
Finding
The exposed self-update capability represents self-modification behavior in a skill whose declared purpose is media generation, not software maintenance. This mismatch makes the skill more dangerous because it grants a creative tool the ability to change its own codebase, creating a persistent execution path beyond user expectations.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.