Back to skill

Security audit

Ai Voice Cloning

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a disclosed cloud voice-generation helper, but its install and related-skill commands rely on mutable remote code without independent verification.

Review this before installing. Prefer downloading and verifying the inference.sh CLI through pinned, versioned artifacts instead of running the pipe-to-shell command, avoid entering sensitive text or private media unless you trust the provider's handling, and treat the related npx skill installs as separate dependencies that should be pinned and reviewed independently.

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
Remote Installer Is Downloaded and Executed Without Independent Verification<![CDATA[ ## 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 Quick Start instructions pipe the response from `https://cli.inference.sh` directly into `sh`. The downloaded content is therefore executed before the user can inspect it or independently verify its integrity. Although the documentation claims that the installer verifies the checksum of the CLI binary, that verification is performed by the same mutable remote script being trusted. It does not protect against compromise of the installer endpoint, DNS or hosting infrastructure, or the installer publication process. A malicious installer could omit verification, substitute another checksum source, or execute unrelated commands. This behavior is not the minimum privilege or trust necessary to install a command-line client. The installer runs with all permissions of the invoking user. No explicit privilege escalation is shown, and the documentation claims elevated permissions are unnecessary, but user-level execution can still access or modify data available to that account. ### Attack Path 1. An attacker compromises or gains control over `cli.inference.sh` or its delivery infrastructure. 2. The attacker replaces the expected installer response with malicious shell commands. 3. A user follows the documented Quick Start command. 4. `curl` retrieves the attacker-controlled response. 5. The pipe passes the response directly to `sh` without inspection or independent validation. 6. The payload executes with the current user's privileges and may steal credentials, alter files, establish user-level persistence, or retrieve additional payloads. 7. The subsequent `infsh login` operation could also expose newly created authentication material if the installed executable was replaced or modified. ## ...[truncated 603 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Remove the `curl | sh` installation pattern. 2. Pin the CLI to a specific reviewed version rather than retrieving an implicitly mutable latest release. 3. Provide separate download and verification steps, for example: - Download the binary or installer to a local file. - Obtain a version-specific checksum or signature through a separately authenticated trust mechanism. - Verify the artifact locally using a hardcoded expected digest or a trusted signing key. - Execute or install it only after successful verification. 4. Prefer signed release artifacts and document signature verification with a pinned public key. 5. Publish the installer source and allow users to inspect the downloaded file before execution. 6. Explicitly warn users not to run the installer as root or through `sudo`. 7. Document where credentials are stored and the permissions required by `infsh login`. ]]>

T08 · Insecure Dependencies

Warning
Location
SKILL.md:258
Finding
Unpinned Third-Party Skill Installation Commands Create Supply-Chain Exposure<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 258–270 **Vulnerability Type**: Insecure dependencies **Risk Level**: Medium ### Vulnerable Code ```bash # All TTS models npx skills add inference-sh/skills@text-to-speech # Podcast creation npx skills add inference-sh/skills@ai-podcast-creation # AI avatars npx skills add inference-sh/skills@ai-avatar-video # Video generation npx skills add inference-sh/skills@ai-video-generation # Full platform skill npx skills add inference-sh/skills@inference-sh ``` ### Technical Analysis The documented commands use `npx` and mutable third-party Skill references without pinning the command package or referenced content to immutable, reviewed versions or commit hashes. Consequently, executing the same command at different times may retrieve different code or instructions. The content installed through these commands is outside the audited repository. Its safety, integrity, and future behavior cannot be established from `SKILL.md`. The commands are listed as related, optional Skills and are not necessary for the declared text-to-speech functionality, so exposing users to these additional dependency chains exceeds the minimum dependency scope required for basic operation. No evidence establishes that the current upstream packages are malicious. The vulnerability is the absence of immutable versioning and verifiable integrity controls, which permits an upstream compromise or unsafe update to reach users. ### Attack Path 1. An attacker compromises an upstream package, repository, maintainer account, publication token, or mutable Skill reference. 2. The attacker publishes altered package or Skill content under an identifier used by the documented commands. 3. A user runs one of the unpinned `npx skills add` commands. 4. The package resolver obtains the current upstream content rather than a previously reviewed immutable revision. 5. The altered Skill is installed and may subsequently influence ag ...[truncated 682 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin the `skills` command package and every referenced Skill to an immutable reviewed release or commit hash. 2. Add integrity verification through trusted checksums, signed manifests, lockfiles, or equivalent platform-supported controls. 3. Avoid using floating identifiers whose resolved content can change after review. 4. Separate optional related Skills from the primary installation flow and clearly state that they expand the trusted dependency surface. 5. Review each referenced Skill independently before recommending installation. 6. Where supported, install dependencies with scripts disabled by default and inspect any lifecycle or setup scripts before allowing execution. 7. Maintain an allowlist of approved versions and periodically reassess them for upstream compromise or newly disclosed vulnerabilities. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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
Findings (10)

External Script Fetching

High
Category
Supply Chain
Content
## Quick Start

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

# Generate speech
infsh app run infsh/kokoro-tts --input '{
Confidence
98% confidence
Finding
`curl ... | sh` executes remote script content directly from the network without requiring users to inspect or independently verify the exact script being run at execution time. If the hosting endpoint, CDN, TLS termination, or upstream distribution pipeline is compromised, users could execute arbitrary code on their systems; the surrounding reassurance text does not eliminate that risk.

Vague Triggers

Medium
Confidence
98% confidence
Finding
The trigger list in the description includes broad phrases such as "tts," "ai voice," "narration," and "natural voice," which are common terms that could match many unrelated user requests. The file does not provide narrowing context, explicit activation constraints, or negative examples to reduce accidental invocation.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill encourages use of external inference services for text, audio, image, and video workflows without clearly warning that user-provided content may be uploaded to third-party systems. This can lead to inadvertent disclosure of sensitive prompts, copyrighted text, voice samples, portraits, or media, especially because the skill also demonstrates media-merger and avatar workflows beyond plain TTS.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The manifest describes an AI voice generation/text-to-speech skill, but the documented workflows also invoke `infsh/media-merger` to merge audio/video and `bytedance/omnihuman-1-5` to create a talking-head avatar. Those are broader media composition and animation capabilities, not merely implementation details of TTS.

Context-Inappropriate Capability

Medium
Confidence
96% confidence
Finding
The 'Create Talking Head' example uses `bytedance/omnihuman-1-5` with an image and generated audio to animate an avatar. Creating talking-head video is a distinct capability from voice synthesis and is not declared in the manifest's stated purpose.

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.