Back to skill

Security audit

talking-head

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed Ofox integration for generating consent-based talking-head videos, with clear cost approval steps and no hidden persistence or exfiltration behavior found.

Before installing, confirm you are comfortable sending the portrait, script, and API request to Ofox, and only use faces you have permission to use this way. If the core skill is missing, review any npx installer command yourself first, prefer a pinned or trusted install path where available, and do not let an agent silently install skills across your agent environment.

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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • 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 (9)

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding
The changelog documents a recovery command using `npx skills ...` without any version pinning or integrity control. If an agent or user runs it, `npx` resolves the latest package from the registry at execution time, creating a supply-chain risk where a compromised or unexpected package version could execute arbitrary code outside the working directory.

Rp1

Medium
Category
MCP Rug Pull
Confidence
96% confidence
Finding
`npx ofox-skills` is referenced as an installation route without a pinned version. Because `npx` fetches and executes code on demand, this exposes users to mutable upstream code and possible package takeover or malicious update scenarios, especially since the surrounding text discusses installing skills across agents/user scope.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This line again references `npx ofox-skills` as a distribution route without pinning. Repeated unpinned installer guidance increases the chance that a caller copies and runs a mutable command, enabling arbitrary code execution if the package, dependency tree, or registry resolution is compromised.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The changelog states `npx ofox-skills` installs every skill in the repo, and it does so without a version pin. That combines two risks: execution of mutable third-party code and a broader-than-necessary installation scope, which can modify user-level agent configuration beyond the immediate task.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This is another unpinned `npx ofox-skills` reference in installation guidance. In skill documentation, especially where agents may relay or act on shell commands, unpinned executable package references are dangerous because they can be copied into privileged environments and run with trust they have not earned.

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.

Unbounded Output

Medium
Category
Output Handling
Content
| Identity | follows the attached frame — **measured, once**: held for 10s on job `855833b4` | generated fresh; a second job is a different person, and no flag changes that |
| Across jobs | re-attach the same portrait to each job — **untested**; what was measured is one 10s clip, not two clips matching | nothing carries a photoreal person between jobs; only the words route, and it does not hold a face |
| Aspect ratio | follows the attached image — **crop the portrait first**, see below | `--aspect-ratio` is yours |
| Evidence | one paid run read end to end: rate, no truncation, gross lip-sync, face lock (2026-09-16) | five Ofox text-to-video jobs of 20–30s built around photoreal people, all completed — but none of them read for lip-sync |

**The default is wan because the defining input is a photograph. Drop the
photograph and the reason for the default drops with it** — a
Confidence
60% confidence
Finding
Output size or generation rate is not bounded. Unbounded output enables denial-of-service through resource exhaustion, log flooding, or context-window stuffing.

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.