Back to skill

Security audit

Explainer Video Guide

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent explainer-video guide, but it directs users to run an unverified internet installer and unpinned install commands that deserve review before use.

Install only if you trust inference.sh and are comfortable reviewing setup commands yourself. Prefer downloading and verifying a pinned CLI release before execution, separate installation from login, and avoid running the unpinned npx related-skill commands unless you can verify the exact package and skill versions.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:14
Finding
Remote Installer Is Downloaded and Executed Without Prior Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:14` **Vulnerability Type**: `T03: Remote Payload Retrieval and Execution` **Risk Level**: Critical ### Vulnerable Code ```bash curl -fsSL https://cli.inference.sh | sh && infsh login ``` ### Technical Analysis The Quick Start instruction streams the response from `https://cli.inference.sh` directly into a shell. The effective executable content is therefore controlled by a mutable external resource and cannot be reviewed from the Skill package. Although the installation note claims that the remote script verifies the SHA-256 checksum of the downloaded binary, this does not authenticate the installer itself. The unverified script begins executing before any stated binary checksum validation occurs. A malicious installer could skip verification, substitute a checksum source, execute unrelated commands, or install a modified `infsh` binary. This behavior exceeds the minimum privileges required for the Skill's declared purpose. Providing guidance for explainer-video production does not require granting a remote server arbitrary shell execution under the user's account. ### Attack Path 1. A user or Agent follows the Quick Start instructions. 2. The shell requests the current content of `https://cli.inference.sh`. 3. An attacker who compromises the hosting infrastructure, domain, delivery pipeline, or another relevant trust dependency modifies the returned installer. 4. `curl` streams that modified response directly into `sh`. 5. The attacker's commands execute with all permissions available to the invoking user. 6. The malicious installer may replace the expected CLI or install an additional payload. 7. The subsequent `infsh login` command may run the substituted binary and expose login credentials or tokens to it. ### Impact Assessment Successful exploitation provides arbitrary code execution with the invoking user's privileges. Depending on those privileges and the local environment, an att ...[truncated 599 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove the `curl | sh` installation pattern. 2. Pin the CLI to a specific immutable version rather than retrieving an unspecified current release. 3. Download the binary as a separate, non-executing step. 4. Publish the expected SHA-256 digest in a version-controlled, reviewed file or instruction within the Skill. 5. Verify the downloaded artifact before granting execute permission or running it. 6. Prefer cryptographically signed release artifacts and verify the signature against a documented trusted public key. 7. Display the exact destination and required permissions before installation. 8. Do not invoke `infsh login` automatically as part of installation; make authentication an explicit, separate user action. 9. Where possible, use a trusted package manager with version pinning and integrity verification. A safer conceptual flow is: ```bash curl -fSLo infsh "<versioned-release-URL>" printf '%s %s\n' "<reviewed-sha256>" "infsh" | sha256sum --check - chmod 0755 infsh ./infsh login ``` The release URL and digest must be pinned to the same reviewed version. Users should also be encouraged to inspect provenance and signatures before execution. ]]>

T08 · Insecure Dependencies

Warning
Location
SKILL.md:228
Finding
Related Skills Are Installed Through Unpinned Third-Party References<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:228-231` **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ### Vulnerable Code ```bash npx skills add inference-sh/skills@ai-video-generation npx skills add inference-sh/skills@video-prompting-guide npx skills add inference-sh/skills@text-to-speech npx skills add inference-sh/skills@prompt-engineering ``` ### Technical Analysis The recommended commands invoke the `skills` utility through `npx` without specifying an immutable package version or integrity value. They also install related Skills through references that do not identify an immutable reviewed commit in the displayed commands. Consequently, the content resolved when a user runs these commands may differ from the content that existed when this Skill was audited. This creates a supply-chain boundary in which changes to the npm package, the remote Skill repository, tags, branches, or associated distribution accounts can introduce unreviewed code or instructions. This finding does not establish that the currently referenced dependencies are malicious. The risk arises because their identity and contents are not cryptographically or immutably pinned. ### Attack Path 1. A user follows the Related Skills recommendations. 2. `npx` resolves and runs the available `skills` package rather than a specifically audited version. 3. The installation utility resolves the referenced remote Skill content. 4. An attacker compromises a relevant publishing account or repository, or mutable upstream content changes after this audit. 5. The command retrieves the changed package or Skill. 6. The unreviewed component is installed or processed in the user's Agent environment. 7. Malicious package behavior or Skill instructions may then execute with the permissions available to the installation process or influence later Agent sessions. ### Impact Assessment The exact impact depends on the behavior and permissions of the resolved ...[truncated 623 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the `skills` npm package to a specific reviewed version: ```bash npx --yes skills@<exact-version> add ... ``` 2. Use npm lockfiles and integrity metadata where the workflow supports them. 3. Pin each related Skill to an immutable commit hash or content digest rather than a mutable branch, tag, or current repository state. 4. Verify the publisher, repository provenance, signatures, and checksums before installation. 5. Review downloaded Skill contents and any included scripts before enabling them. 6. Avoid automatic execution of lifecycle scripts where possible, such as by using installation modes that disable scripts until they have been reviewed. 7. Document the exact expected package version, commit identifiers, and integrity values in `SKILL.md`. 8. Treat updates as new dependencies requiring a fresh security review rather than silently following upstream changes. ]]>
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

External Script Fetching

High
Category
Supply Chain
Content
## Quick Start

```bash
curl -fsSL https://cli.inference.sh | sh && infsh login

# Generate a scene for an explainer
infsh app run google/veo-3-1-fast --input '{
Confidence
99% confidence
Finding
The guide instructs users to pipe a remote script directly into `sh` via `curl -fsSL https://cli.inference.sh | sh`, which executes network-fetched code without prior inspection. If the server, CDN, DNS, TLS termination, or publishing pipeline is compromised, attackers can achieve immediate arbitrary code execution on the user's system.

Vague Triggers

Medium
Confidence
96% confidence
Finding
The trigger list contains broad phrases like 'video production', 'video script', and 'tutorial video', which are common in normal user conversations and can cause the skill to activate unexpectedly. Over-broad activation increases the chance that users are steered into executing the skill's tool-enabled workflow, including risky shell commands, when they did not explicitly request it.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill recommends running `npx skills add ...` without pinning an exact package version, which can pull whatever version is current at execution time. This creates a supply-chain risk: a compromised publisher account, typosquatted dependency, or newly introduced malicious version could execute arbitrary code on the user's machine.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This unpinned `npx skills add ...` invocation depends on the latest package state at runtime rather than a reviewed, immutable version. If the package or one of its install-time behaviors changes maliciously, users may execute attacker-controlled code simply by following the guide.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
Because `npx` will fetch and execute package code, leaving the package version unpinned makes the command non-reproducible and vulnerable to upstream compromise. In a skill intended for broad reuse, this increases exposure because many users may copy-paste the command without reviewing what gets executed.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The command references a mutable package name through `npx` with no version constraint, so future package changes can silently alter what code runs. That is a real supply-chain hazard even if the current package is legitimate, because installation-time scripts and transitive dependencies may execute.

Static analysis

No suspicious patterns detected.