Back to skill

Security audit

marketplace-main-image-preflight

Security checks across malware telemetry and agentic risk

Overview

The skill does the advertised image review and editing work, but it also asks for broad shared Beatra account permissions and silently self-updates by default.

Install only if you are comfortable giving this Beatra package a shared Device Token with broader media and wallet permissions than this one image workflow needs, allowing your product image to be uploaded to Beatra for paid processing after approval, and accepting opt-out silent package updates. Consider disabling automatic updates with the documented command before use and reviewing Beatra account/device access from the console.

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 (22)

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill declares no permissions while its documented behavior includes shell execution, file access, network communication, credential handling, and package update operations. This creates a major transparency and trust gap: a user invoking what appears to be a simple image-review skill could unknowingly authorize broad local and remote actions.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The advertised purpose is a marketplace image preflight/review skill, but the documented behavior expands into OAuth login, persistent credential storage, remote tool execution, telemetry/registration, local uploads, uninstall cleanup, and self-updating package management. That mismatch can mislead users about the true trust boundary and cause them to approve sensitive actions they did not reasonably expect.

Description-Behavior Mismatch

Medium
Confidence
89% confidence
Finding
The skill documentation expands from advisory preflight review into executing paid image-editing/generation requests, task polling, billing reporting, and retry logic. While likely product-driven rather than malicious, this broadens the operational scope and risk surface beyond analysis, including remote content transfer and paid actions.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The skill claims a narrowly scoped one-repair workflow, yet also authorizes automatic package self-updating unrelated to the immediate image-preflight task. This introduces a software supply-chain and local integrity risk that is out of proportion to the expected function of a listing-image helper.

Context-Inappropriate Capability

High
Confidence
98% confidence
Finding
Automatic download and installation of newer releases without separate confirmation is a strong supply-chain risk, especially in a skill that can access local files, credentials, shell execution, and the network. If the update channel, publisher account, or distribution path is compromised, arbitrary new behavior could be deployed to users without a fresh trust decision.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The documentation describes an automatic outbound registration call that sends package, version, platform, and installation reference data, which is unrelated to the skill's stated marketplace image-preflight purpose. Even if labeled non-billable and best-effort, this is telemetry behavior that expands data collection and network activity beyond user expectations, creating privacy and trust risks.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The file documents collecting and caching environment metadata such as platform, agent environment, and a stable external installation reference, none of which are necessary for image review or marketplace listing preflight. Persisting this metadata in a local cache and resolving host identity from environment signatures increases fingerprinting potential and broadens the skill's access pattern beyond its declared function.

Description-Behavior Mismatch

High
Confidence
98% confidence
Finding
The authorization scope requests far more privileges than are justified by a marketplace image preflight skill, including wallet spending, task control, and multiple media-generation capabilities. If the issued token is compromised or the skill later invokes those permissions, the user could suffer unauthorized charges, access to unrelated data, or abuse of account capabilities beyond the advertised function.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The script detects the host platform from environment variables, reads the local hostname, and persists that metadata to disk even though an image-review skill does not obviously need host fingerprinting data. This creates unnecessary collection of device-identifying information and increases privacy risk and environmental profiling surface if the state directory or downstream services are exposed.

Context-Inappropriate Capability

Medium
Confidence
90% confidence
Finding
The script records a local inventory of installed skills and their full installation paths, which is unrelated to the stated image preflight purpose and reveals local filesystem layout and software usage. This metadata can aid profiling, leak sensitive path information, or expand the blast radius if local state is accessed by other tools or malware.

Description-Behavior Mismatch

High
Confidence
89% confidence
Finding
The file exposes a generic remote-capable MCP client with arbitrary tool invocation, asset upload, and silent self-update, which materially exceeds the advertised purpose of reviewing marketplace images. In the context of a narrowly described image-preflight skill, this capability mismatch is dangerous because it expands the attack surface and allows the package to act as a general broker to remote services and mutate its own codebase.

Context-Inappropriate Capability

Medium
Confidence
83% confidence
Finding
The code performs installation telemetry and records a local skill inventory unrelated to the stated image-checking purpose. While not inherently exploit code, hidden telemetry and persistent local tracking increase privacy risk and indicate unnecessary data collection beyond user expectations for this skill.

Context-Inappropriate Capability

Medium
Confidence
87% confidence
Finding
The code fingerprints the host agent environment using environment variables and persisted metadata, which is unrelated to image review and can be used for profiling, targeting, or environment-specific behavior. In a skill presented as a simple ecommerce image checker, this hidden host identification is more suspicious and less justifiable than it would be in a platform-diagnostics utility.

Description-Behavior Mismatch

High
Confidence
90% confidence
Finding
This uninstall script can revoke a shared Beatra device credential and participates in removal of shared state under ~/.beatra, which affects all installed skills rather than only this package. Even though the code tries to do this cautiously, that capability is broader than the marketplace image skill's stated purpose and creates account-level side effects if the inventory is wrong, tampered with, or incomplete.

Description-Behavior Mismatch

High
Confidence
94% confidence
Finding
The script defines shared state files including credentials.json, host.json, skills.json, and registrations.json for deletion from ~/.beatra. Deleting global state from within one skill package is dangerous because compromise, misuse, or operator confusion could disconnect other skills or erase shared configuration unrelated to this package.

Context-Inappropriate Capability

High
Confidence
92% confidence
Finding
The code reads access_token from ~/.beatra/credentials.json and later uses it to call the device revocation endpoint, giving this skill account-level credential handling powers. In the context of a marketplace image review skill, this is excessive privilege and increases blast radius if the package is modified, repurposed, or triggered unexpectedly.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill enables automatic updates without separate confirmation, but this is not surfaced as a prominent warning in the primary summary or invocation context. Users may reasonably believe they are running a static image-review skill when they are actually authorizing ongoing software replacement behavior.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The document explicitly states that the client silently checks for and automatically installs newer releases without separate confirmation. Even with checksum and origin verification controls, silent code replacement changes the local system state and can surprise users, bypass change-management expectations, and increase the blast radius of any compromised official update channel or bad release.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The markdown states that on first use the client automatically performs a registration call, but it does not indicate an explicit user warning or consent flow before the outbound transmission occurs. Silent network activity from a skill marketed as an image checker is dangerous because users may not expect external communication or metadata disclosure during local creative tasks.

Credential Access

High
Category
Privilege Escalation
Content
#: these and then removes the directory only if it is empty — the script
#: never recursively deletes a directory it does not fully understand.
_STATE_FILES = (
    "credentials.json",
    "installation.json",
    "host.json",
    "skills.json",
Confidence
88% confidence
Finding
Referencing credentials.json as a managed file indicates this skill is aware of and can act upon credential-bearing shared state. Even without exfiltration, unnecessary access paths to credential material in an unrelated skill increase risk and violate least privilege.

Credential Access

High
Category
Privilege Escalation
Content
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):
Confidence
95% confidence
Finding
The _device_token function reads and parses ~/.beatra/credentials.json to obtain an access token. Direct credential access inside a marketplace image utility is high risk because any code execution in the skill context can reuse that token for account/device operations beyond the advertised image-processing function.

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
91% confidence
Finding
This package can silently self-update and replace files on disk, which is a high-risk capability in a skill marketed as an image-preflight helper. Even though the implementation includes several integrity checks, self-modification substantially raises the trust burden: compromise of the update/discovery channel, signing process, or upstream release pipeline would let the skill change behavior after installation.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.