Back to skill

Security audit

Ai Content Pipeline

Security checks for vulnerabilities and agentic risk

Overview

The skill fits its AI media-pipeline purpose, but users should review it because it recommends mutable remote install commands that can execute code or install other skills without version pinning.

Review the installer and related-skill commands before running them. Prefer a pinned release, checksum or signature verification performed before execution, and a non-administrative environment. Avoid sending confidential drafts, private media, secrets, or regulated data through the pipeline unless you have reviewed inference.sh and the underlying providers' privacy and retention terms.

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:16
Finding
Unpinned Remote Installer Is Executed Directly by a Shell## Vulnerability Details **File Location**: `SKILL.md`, line 16 **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High **Vulnerable Code**: ```bash curl -fsSL https://cli.inference.sh | sh && infsh login ``` ### Technical Analysis The installation command streams a mutable response from `https://cli.inference.sh` directly into `sh`. The downloaded installer is neither saved for inspection nor pinned to a specific immutable version or digest before execution. The document states that the installer verifies the SHA-256 checksum of the CLI binary. However, that does not establish the integrity of the installer itself: the remote script must execute before it can perform the claimed binary verification. HTTPS protects the connection in transit but does not protect against compromise of the hosting service, deployment pipeline, domain, or publishing account. This behavior is not necessary for the Skill's declared content-pipeline functionality. A manually downloaded, version-pinned, independently verified CLI binary would provide the required functionality with less supply-chain exposure. The behavior also grants the remote endpoint substantially broader authority than the declared `infsh` command usage requires. ### Attack Path 1. An attacker compromises or gains control over the installer endpoint, its publishing pipeline, or an equivalent trusted delivery component. 2. The attacker changes the response from `https://cli.inference.sh` to include arbitrary shell commands. 3. A user or automation agent follows the documented Quick Start command. 4. `curl` streams the attacker-controlled response directly to `sh`. 5. The payload executes immediately with the privileges and environment of the invoking user. 6. The payload can access resources available to that user before optionally installing the legitimate CLI to conceal the compromise. ### Impact Assessment Successful exploitation ...[truncated 651 chars]
Remediation
## Remediation Suggestions 1. Remove the `curl | sh` installation pattern. 2. Link to a specific, immutable CLI release rather than a mutable installer endpoint. 3. Require users to download the release artifact without executing it: ```bash curl -fL -o infsh https://example.invalid/releases/<fixed-version>/infsh-<platform> ``` 4. Publish the expected SHA-256 digest through an independently protected release channel and require verification before installation: ```bash echo '<expected-sha256> infsh' | sha256sum -c - ``` 5. Document manual installation into a user-owned directory without `sudo`. 6. Where supported, provide signed release artifacts and document signature verification. 7. Separate installation from authentication so that users can inspect and verify the installed binary before running `infsh login`. 8. Advise users to perform installation in a restricted, non-administrative environment.

T08 · Insecure Dependencies

Warning
Location
SKILL.md:235
Finding
Related Skills Are Installed from Unpinned Third-Party References## Vulnerability Details **File Location**: `SKILL.md`, lines 235-246 **Vulnerability Type**: Insecure dependency installation **Risk Level**: Medium **Vulnerable Code**: ```bash # Video generation models npx skills add inference-sh/skills@ai-video-generation # Image generation npx skills add inference-sh/skills@ai-image-generation # Text-to-speech npx skills add inference-sh/skills@text-to-speech # LLM models for scripts npx skills add inference-sh/skills@llm-models ``` ### Technical Analysis These commands install related skills using mutable names rather than immutable versions or commit identifiers. A future change to the referenced source can therefore alter what is installed without any corresponding change to this audited `SKILL.md`. The commands also invoke `npx`, which can retrieve and execute package tooling when it is not already available locally. The audited file supplies no integrity hashes, trusted commit identifiers, review procedure, or verification step for either the installer tooling or the referenced skills. Installing these related skills is optional and is not required for the core pipeline examples, which already use the `infsh` CLI directly. Presenting mutable installation commands expands the supply-chain trust boundary beyond the minimum required functionality. ### Attack Path 1. An attacker compromises a referenced repository, release process, publishing account, or dependency used by the installation tooling. 2. Malicious content is published under one of the mutable skill references or through tooling obtained by `npx`. 3. A user follows a documented `npx skills add` command at a later time. 4. The command resolves the then-current remote content rather than an artifact identical to the one originally reviewed. 5. The altered skill is installed and may subsequently influence agent instructions or execute behavior according to the capabilities granted to that skill. ### Imp ...[truncated 610 chars]
Remediation
## Remediation Suggestions 1. Pin each related skill to a specific immutable commit digest or cryptographically identified release. 2. Pin the `skills` installation tool to a reviewed version rather than allowing `npx` to resolve mutable tooling. 3. Use lockfiles and integrity metadata where the package ecosystem supports them. 4. Review the complete contents and declared tool permissions of every related skill before installation. 5. Document the expected publisher, repository, version, commit, and checksum for each dependency. 6. Treat related skills as optional and avoid installing them unless their functionality is specifically required. 7. Perform installation with a non-administrative account and in an isolated environment where practical.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (8)

External Script Fetching

High
Category
Supply Chain
Content
## Quick Start

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

# Simple pipeline: Generate image -> Animate to video
infsh app run falai/flux-dev --input '{"prompt": "portrait of a woman smiling"}' > image.json
Confidence
99% confidence
Finding
The command `curl -fsSL https://cli.inference.sh | sh` downloads and immediately executes a remote script, which is a classic unsafe installation pattern. Even with a reassuring note below, users are encouraged to trust network-delivered code before inspecting it, so compromise of the host, TLS termination, CDN, or script publication path could lead to arbitrary code execution on the user's machine.

Vague Triggers

Medium
Confidence
97% confidence
Finding
The manifest description includes generic triggers such as "content creation," "ai workflow," "generate and edit," and "content automation." These phrases are broad enough to match common user intents outside this specific skill, and the file does not provide limiting context or negative examples to narrow when invocation should occur.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill quickly moves into examples that send prompts, text, images, audio, and URLs to external services, but it does not clearly warn users about that data flow up front. In a content-pipeline skill this matters because users may supply proprietary drafts, personal media, or confidential materials and not realize they are being transmitted to third-party network services.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Static analysis

No suspicious patterns detected.