Back to skill

Security audit

Pixcli Skill

Security checks across malware telemetry and agentic risk

Overview

This looks like a real creative media skill, but it needs review because it can upload user media and create public or persistent links by default.

Review before installing. Use this only if you are comfortable sending prompts, images, audio samples, and generated media to the pixcli service and its backend providers. Avoid voice cloning unless the speaker has explicitly authorized it, and prefer --private or --no-publish for podcasts or sensitive assets because the docs conflict on whether some shared links are permanent or expiring.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (13)

Intent-Code Divergence

Low
Confidence
88% confidence
Finding
The documentation states podcast share pages are served from sipcast.ai, but the declared network hosts omit that domain. This creates an undeclared external dependency and can mislead operators about where generated content and user metadata may be published or fetched.

Intent-Code Divergence

Medium
Confidence
90% confidence
Finding
The skill says podcasts are public and permanent by default, while another section says all published URLs expire and there is no 'never'. This inconsistency is dangerous because users and agents may disclose sensitive content under false assumptions about retention and accessibility.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The README explicitly frames pixcli as the default tool for almost any creative output and says to 'reach for pixcli first,' which can cause agents to over-select this skill across broad user requests. In agentic environments, this increases unnecessary invocation of a networked tool that can upload prompts, media, or other user content to a remote service, expanding data exposure and unintended side effects.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The README promotes public and shareable publishing URLs, including slugs and expiration windows, but does not clearly warn that generated assets may contain sensitive user data, proprietary media, or confidential prompts. In an agent setting, an autonomous publish flag could expose outputs to unintended parties through publicly accessible links.

Missing User Warnings

High
Confidence
97% confidence
Finding
The README advertises voice cloning via sample audio without any consent, authorization, or biometric-data warning. Voiceprints are sensitive biometric identifiers, and an agent could facilitate impersonation, fraud, harassment, or unauthorized processing of another person's voice if guardrails are absent.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The documentation states podcasts publish public and permanent by default, which creates a meaningful risk of unintended disclosure of generated audio, transcripts, cover art, and topic content. Because publication is the default rather than an explicit opt-in, an agent or user may expose sensitive or proprietary content without realizing it.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
Voice cloning is documented as a straightforward feature without any consent, authorization, or biometric privacy warning. That lowers friction for impersonation and misuse of voice samples, especially where users may upload third-party audio without permission.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The cookbook includes an example that publishes a generated podcast episode, including a permanent shareable player page, without any adjacent warning that this action makes content public and potentially persistent. In an agent skill context, copy-paste examples are often executed verbatim, so this can lead to unintended disclosure of sensitive, proprietary, or unreviewed content.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The Cloud Run and Lambda rendering examples show sending `inputProps`, composition data, and receiving rendered outputs from remote services without any warning that user-supplied content leaves the local environment and is processed by third-party cloud infrastructure. In a creative/media pipeline, these props and outputs may contain sensitive prompts, proprietary assets, or personal data, so omission of this disclosure can cause unintended data exposure and unsafe deployment decisions.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The playbook documents automatic model routing based on broad natural-language trigger words such as "seedance," "bytedance," "byte dance," "sea dance," and "doubao." This creates a prompt-injection-style control surface where untrusted user content can influence backend model selection unexpectedly, potentially bypassing intended defaults, cost controls, quality constraints, or safety expectations tied to the normal classifier path.

Ssd 3

Medium
Confidence
94% confidence
Finding
Default public publishing of podcast content can expose user prompts, internal discussions, or proprietary material without meaningful user confirmation. In a skill designed to auto-generate and share media, this context makes disclosure risk materially higher because publication is integrated into the normal workflow and framed as the expected default.

Ssd 3

Medium
Confidence
93% confidence
Finding
The instructions encourage surfacing public URLs and pre-authenticated dashboard links by default, which can leak generated artifacts and grant unintended access if those links are shared in chat transcripts or logs. Pre-authenticated links are especially sensitive because they may bypass normal login expectations and expose account-scoped assets.

Unrestricted Tool Access

Medium
Category
Excessive Agency
Content
### What runs at runtime and why

- **`npx --yes pixcli <command>`**: Downloads + caches the `pixcli` CLI from npm on first invocation, then runs it. All subsequent calls use the cached binary. The `--yes` flag is required in agent contexts to avoid interactive prompts. `pixcli` is an HTTP client — it sends prompts to the pixcli API (`https://pixcli.hilo.cx/api/v1/*`), polls for completion, and downloads the resulting files. It does not execute arbitrary code.
- **`npx --yes remotion <command>`**: Same pattern for the Remotion video renderer. Only used when assembling final videos from generated assets using the bundled templates.
- **`npm install`** (no arguments): Runs inside a copied template directory to install the dependencies declared in that template's `package.json`. The agent never passes package names to `npm install` — only hydrates declared deps.
- **`ffmpeg` / `ffprobe`**: Local-only media operations (trim, merge, scale, get info). No network access.
Confidence
84% confidence
Finding
execute arbitrary code

VirusTotal

42/42 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.