Back to skill

Security audit

p-video-2-pro

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent for Pruna video generation, but it asks the agent to install multiple mutable helper skills and send user prompts or media to Pruna's API.

Install only if you trust the PrunaAI/pruna-skills source and are comfortable with helper skills being added to the agent. Avoid sending confidential prompts, private images, or sensitive media unless your Pruna account and data-handling expectations allow it, and prefer pinned or pre-reviewed skill versions where possible.

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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (33)

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

The skill instructs the agent to install and execute additional skills via npx skills add ... using moving package references rather than immutable, pinned versions. This creates a supply-chain risk: if the upstream package or tag changes, a future run could fetch and execute unexpected code or altered prompts with the agent's privileges.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

This line references an external skill installation through npx skills add without an immutable version boundary. Because skill content is executable guidance for the agent, an upstream change could silently alter behavior and introduce prompt injection, unsafe actions, or credential-handling changes.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

The skill depends on another skill fetched at runtime via an unpinned npx skills reference. That means trust is delegated to whatever package content is current at execution time, which is a classic supply-chain weakness for agent systems.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
88% confidence
Finding

The line directs installation of pruna-api through npx skills add without a pinned immutable version. Since this dependency influences HTTP calls and credential use, a malicious or compromised update could affect sensitive outbound requests or exfiltrate API keys.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

The full-suite installation command uses a floating package reference, expanding the trust boundary to a larger set of remotely controlled skills. A compromised or changed upstream suite could introduce unsafe behavior across multiple capabilities at once.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

This alternate-skill recommendation also uses an unpinned runtime install command. Even though it is presented as guidance, agent frameworks may follow these instructions automatically, making the floating dependency a real supply-chain exposure.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

The skill recommends another package through npx skills add without a fixed version, allowing upstream content drift. In agent contexts, this can change behavior over time without local code changes or review.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

This line exposes the same supply-chain issue: a remote skill may be fetched and trusted based on a mutable tag or latest resolution. If compromised, it could alter prompts, cause unauthorized tool use, or manipulate outputs.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

The npx skills reference is unpinned and therefore subject to package substitution or malicious updates. Because the referenced skill affects talking-head generation routing, altered content could still influence downstream API use and user data handling.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

An unpinned recommendation for another skill creates a runtime dependency on mutable external content. In agent systems, even non-code markdown instructions can meaningfully change execution paths and safety boundaries.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

This install guidance is vulnerable to upstream tampering because it does not lock the dependency to a specific immutable artifact. If exploited, an attacker could influence generation workflows or trigger unauthorized follow-on actions.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

The line recommends fetching p-video-replace using a floating reference, which is a supply-chain risk in a tool-executing environment. Remote content drift can convert benign routing guidance into harmful instructions over time.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

This npx skills command remains unpinned and therefore trusts mutable upstream content. Because the referenced skill may lead to additional editing or processing actions, a compromised package could widen downstream impact.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
82% confidence
Finding

The skill explicitly instructs uploading local files to an external API endpoint, which is a real data egress path. While this is expected for a video-generation skill, it is still security-relevant because users may provide sensitive images and the agent is told to transmit them off-platform using an API key.

Content

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

Upload for image-to-video / frame anchors

bash
curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: ${PRUNA_API_KEY}" \
  -F "content=@/path/to/first-frame.png"

External Transmission

Medium
Category
Data Exfiltration
Confidence
82% confidence
Finding

The skill explicitly instructs uploading local files to an external API endpoint, which is a real data egress path. While this is expected for a video-generation skill, it is still security-relevant because users may provide sensitive images and the agent is told to transmit them off-platform using an API key.

Content

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

Upload for image-to-video / frame anchors

bash
curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: ${PRUNA_API_KEY}" \
  -F "content=@/path/to/first-frame.png"

External Transmission

Medium
Category
Data Exfiltration
Confidence
78% confidence
Finding

The async create example instructs sending prompts and generation parameters to an external API over the network. This is intended behavior for the skill, but it still constitutes a true external transmission risk because potentially sensitive user inputs leave the local trust boundary.

Content

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

Create (async text-to-video — recommended)

bash
curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-video-2-pro' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
80% confidence
Finding

This example sends prompts and referenced image URLs to an external prediction API, creating intentional outbound data flow. In context that is core functionality, but it remains a true exposure because prompts can contain proprietary creative briefs or sensitive content and are shared with a third party.

Content

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

Image-to-video (first frame)

bash
curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-video-2-pro' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
80% confidence
Finding

This example sends prompts and referenced image URLs to an external prediction API, creating intentional outbound data flow. In context that is core functionality, but it remains a true exposure because prompts can contain proprietary creative briefs or sensitive content and are shared with a third party.

Content

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

Image-to-video (first frame)

bash
curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-video-2-pro' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
-d '{
    "input": {
      "prompt": "The camera slowly pushes in, the person turns their head and smiles",
      "image": "https://api.pruna.ai/v1/files/FIRST_ID",
      "duration": 5,
      "resolution": "768p"
    }

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
-d '{
    "input": {
      "prompt": "The camera slowly pushes in, the person turns their head and smiles",
      "image": "https://api.pruna.ai/v1/files/FIRST_ID",
      "duration": 5,
      "resolution": "768p"
    }

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

md
-d '{
    "input": {
      "prompt": "The camera slowly pushes in, the person turns their head and smiles",
      "image": "https://api.pruna.ai/v1/files/FIRST_ID",
      "duration": 5,
      "resolution": "768p"
    }

External Transmission

Medium
Category
Data Exfiltration
Confidence
78% confidence
Finding

This example sends prompts plus first/last frame references to an external prediction API, which is a genuine off-platform data disclosure path. The context makes it expected rather than malicious, but frame anchors may contain sensitive or proprietary visuals, so the egress risk is material.

Content

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

First / last frame (visual transition)

bash
curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-video-2-pro' \

External Transmission

Medium
Category
Data Exfiltration
Confidence
77% confidence
Finding

The sync test example instructs sending generation requests to a third-party API, which is a real network egress path. Although normal for the feature, this still matters because prompts and parameters may reveal sensitive user intent and the API key authorizes billable external actions.

Content

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

Create (sync — quick test only)

bash
curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H "apikey: ${PRUNA_API_KEY}" \
  -H 'Model: p-video-2-pro' \

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

The related-skills section again instructs installation through an unpinned package reference. Repetition increases exposure because multiple execution paths may independently trigger unsafe runtime fetches.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
86% confidence
Finding

This is another true supply-chain issue: the skill advertises loading external content without pinning. Mutable upstream dependencies are especially risky for agent ecosystems where instructions directly drive privileged behavior.

Content

No source excerpt is available for this finding.