Back to skill

Security audit

generation-diversity

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly prompt and quality-gate guidance, but it directs installation of other skills through unpinned auto-confirmed npx commands, which should be reviewed before use.

Install only after reviewing the related-skill commands yourself. Prefer pinned versions or a controlled installer, avoid auto-confirmed installs, and require explicit approval before any paid API calls, uploads, or skill-suite changes. Also review the gender and identity defaults before using the skill for faces, voices, or avatars.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:60
Finding
Unpinned External Skill Installation Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 60–70 **Vulnerability Type**: Supply-chain risk from unpinned external dependencies **Risk Level**: Medium ### Vulnerable Code ```markdown | `image-prompting` | Use when crafting still-image prompts for any generative model — composition, identity sheets, edits, try-on, and photoreal personas. | `npx skills add PrunaAI/pruna-skills@image-prompting -y` | | `video-prompting` | Use when crafting video or motion prompts for any generative model — dramaturgy, camera, physics-safe motion, frame anchors, and clip chaining. | `npx skills add PrunaAI/pruna-skills@video-prompting -y` | | `audio-prompting` | Use when crafting TTS, music, or bed prompts for any generative audio model — director style, song structure, and post-production layering. | `npx skills add PrunaAI/pruna-skills@audio-prompting -y` | | `pruna-api` | Use before any Pruna or Replicate HTTP call — credentials, upload/poll/download, parallel batches, and agent safety. | `npx skills add PrunaAI/pruna-skills@pruna-api -y` | | `p-image-ideogram` | Use when photo generation needs more control — photoreal results, text in the image, or structured JSON with hex colors and bounding boxes. Simpler photo generation, edits, and video use other skills in the suite. | `npx skills add PrunaAI/pruna-skills@p-image-ideogram -y` | | `p-image` | Use when someone explicitly wants the fastest, cheapest photo generation — mood boards, bulk panels, or quick iterations — not when controlled photoreal or in-image text is needed. | `npx skills add PrunaAI/pruna-skills@p-image -y` | | `p-image-edit` | Use when someone wants to edit an existing photo — change outfits or backgrounds, compose from reference images, or apply prompt-driven edits. | `npx skills add PrunaAI/pruna-skills@p-image-edit -y` | | `p-video-2` | Use when someone wants the best-quality short clip from text, images, or audio — polished B-roll, start/end frame animation, or a ...[truncated 3317 chars]
Remediation
## Remediation Suggestions 1. Pin the `skills` CLI to an exact audited version, for example by using an exact package version rather than allowing `npx` to resolve the latest release. 2. Pin external Skill sources to immutable commit hashes or signed release artifacts instead of mutable names or tags. 3. Record and verify cryptographic checksums or signatures before installation. 4. Remove `-y`, or require explicit informed user confirmation before downloading and installing external components. 5. Vendor security-critical dependencies, particularly API and credential-handling Skills, into a reviewable package where licensing permits. 6. Execute installation in a sandbox with restricted filesystem, environment-variable, credential, and network access. 7. Maintain a reviewed allowlist of approved package versions and repository commits. 8. Re-audit external dependencies whenever their pinned versions are updated.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (16)

Vague Triggers

Medium
Confidence
91% confidence
Finding
The description says to use the skill when writing "any generative prompt," which is a very broad activation condition without clear boundaries or exclusion criteria. This can cause unintended invocation across many ordinary prompting tasks because the file does not define when the skill should not be used.

Vague Triggers

Medium
Confidence
94% confidence
Finding
The phrase "Apply before every generation on any model" makes the activation scope effectively universal for generative work. Without constraints, examples of non-applicable cases, or narrower context, this risks unnecessary or unintended invocation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
The skill instructs users to run `npx skills add ... -y`, which resolves and executes package code at install time without pinning the `skills` CLI itself to a specific version. If the latest published CLI or a compromised dependency is malicious, an agent or user could fetch and execute unexpected code, creating a supply-chain execution risk.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
This install instruction references `npx skills` without pinning the CLI version, so the command may execute whatever current package version is returned by the registry at runtime. In a hostile or compromised supply-chain scenario, that can lead to arbitrary code execution during installation of related skills.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
The command uses an unpinned `npx skills` entrypoint, which makes execution dependent on the latest registry state instead of a reviewed version. That exposes consumers to package substitution, malicious updates, or dependency compromise at the moment the command is run.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
Because this command invokes an unpinned package via `npx`, it can execute newly published or tampered code without review. For agent ecosystems that may automate tool installation, this increases the risk of silent supply-chain compromise.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
The documented `npx skills` invocation does not constrain the executable version, so users inherit whatever package is current when they run it. That creates a realistic supply-chain risk because `npx` may fetch and run code directly from the registry.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
This related-skill installation example relies on `npx skills` without version pinning, which leaves execution open to malicious or unintended upstream changes. The risk is not in the skill content itself but in the command pattern that directly triggers remote code execution from package infrastructure.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
An unpinned `npx skills` command allows the executed installer code to vary over time based on registry contents, which undermines reproducibility and trust. If a malicious version is published or dependencies are compromised, running the documented command could execute attacker-controlled code.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
This command pattern executes a remote package through `npx` without constraining its version, exposing users to code changes outside the repository's control. That is a supply-chain risk, especially for agent operators who may follow README-style commands verbatim.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
The skill recommends an unpinned `npx skills` install command, which can pull and run an arbitrary latest version at execution time. That can be abused through package compromise or typosquatting-like substitution in the tooling supply chain.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
Using `npx skills` without version pinning means consumers do not get a stable, reviewed executable; instead they run whatever the package registry currently serves. In the context of install instructions, that creates a meaningful remote-code-execution exposure via supply-chain compromise.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding
The full-suite install command again uses floating `npx skills`, so the executable may change independently of the repository content. This broadens the blast radius because the command installs an entire suite and would execute any malicious installer logic present in the fetched CLI.

Description-Behavior Mismatch

Medium
Confidence
86% confidence
Finding
The manifest description scopes this skill to generative prompt preparation: ritual seed, structure, scenario axes, and quality gates before paid API calls. However, the document goes beyond prompt guidance into end-to-end workflow instructions for image, video, avatar, try-on, replace/edit pipelines, including delivery-time choices like adding instrumental beds and model-specific execution rules. That is broader than a prompt-writing-only skill.

Natural-Language Policy Violations

Medium
Confidence
88% confidence
Finding
The skill hard-codes binary gender labels and instructs matching voice and face-swap behavior to those labels, which can cause misgendering, exclusion, or inappropriate identity handling without user consent. In generation pipelines that modify faces or voices, this creates a policy and safety risk because identity-sensitive attributes are being inferred and enforced operationally rather than requested or confirmed.

Intent-Code Divergence

Low
Confidence
72% confidence
Finding
Line L052 says not to require a user-visible ritual-seed line unless the user asks for transparency, framing the ritual as internal planning metadata. But L174 later instructs the agent to state derived picks in the turn, which partially externalizes the ritual-derived planning output and creates mixed intent about what remains internal versus surfaced. This is a documentation-level inconsistency in operator guidance.

Static analysis

No suspicious patterns detected.