Back to skill

Security audit

Hyperframes Media

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent media-preprocessing guide, but it repeatedly asks users to run unpinned internet-downloaded tools that can change after review.

Review this skill before installing if you use it on a sensitive workstation. Prefer a pinned, vetted `hyperframes` version and pinned Python dependencies, and run the media commands in a least-privileged project or container without unnecessary credentials exposed.

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:15
Finding
Unpinned Third-Party Packages Are Downloaded and Executed## Vulnerability Details **File Location**: `SKILL.md`, lines 15–17, 56, 63–67, 112–117, and 238–239 **Vulnerability Type**: Unpinned executable dependencies and unsafe supply-chain trust **Risk Level**: Medium ### Vulnerable Code `SKILL.md`, lines 15–17: ```bash npx hyperframes tts "Text here" --voice af_nova --output narration.wav npx hyperframes tts script.txt --voice bf_emma --output narration.wav npx hyperframes tts --list ``` `SKILL.md`, line 56: ```bash pip install kokoro-onnx soundfile ``` `SKILL.md`, lines 63–67: ```bash npx hyperframes transcribe audio.mp3 npx hyperframes transcribe video.mp4 --model small --language es npx hyperframes transcribe subtitles.srt npx hyperframes transcribe subtitles.vtt npx hyperframes transcribe openai-response.json ``` `SKILL.md`, lines 112–117: ```bash npx hyperframes remove-background subject.mp4 -o transparent.webm npx hyperframes remove-background subject.mp4 -o transparent.mov npx hyperframes remove-background portrait.jpg -o cutout.png npx hyperframes remove-background subject.mp4 -o subject.webm \ --background-output plate.webm npx hyperframes remove-background subject.mp4 -o transparent.webm --device cpu npx hyperframes remove-background --info ``` `SKILL.md`, lines 238–239: ```bash npx hyperframes tts script.txt --voice af_heart --output narration.wav npx hyperframes transcribe narration.wav ``` ### Technical Analysis The Skill repeatedly instructs users or agents to execute `hyperframes` through `npx` without specifying an audited package version. If the package is absent locally, `npx` can retrieve a currently available registry release and execute its lifecycle and application code with the invoking user's privileges. The Python dependencies `kokoro-onnx` and `soundfile` are also installed without version constraints or cryptographic hashes. The project contains no lockfile, dependency manifest with integrity meta ...[truncated 2111 chars]
Remediation
## Remediation Suggestions 1. Pin `hyperframes` to a specific audited version in every command, such as: ```bash npx --yes hyperframes@1.2.3 tts "Text here" --voice af_nova --output narration.wav ``` 2. Maintain an npm lockfile containing package versions and integrity metadata. Prefer a reviewed local installation invoked through a package script rather than downloading executable code ad hoc on every use. 3. Pin Python dependencies in a requirements file: ```text kokoro-onnx==AUDITED_VERSION soundfile==AUDITED_VERSION ``` 4. Generate and enforce cryptographic hashes for Python dependencies, then install them with hash verification: ```bash python -m pip install --require-hashes -r requirements.txt ``` 5. Review and pin transitive dependencies where feasible. Update versions through a controlled process that includes source review, vulnerability scanning, and functional testing. 6. Document the approved npm and Python package indexes. Prevent fallback to untrusted mirrors and avoid adding dependency sources based on untrusted input. 7. Publish checksums and trusted download origins for the machine-learning model files downloaded on first use, and verify those checksums before loading the models. 8. Run media-processing dependencies in a least-privileged environment or container with restricted filesystem access, no unnecessary credentials, and limited outbound network connectivity.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (22)

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill repeatedly instructs users to run `npx hyperframes` without pinning an exact package version. `npx` will fetch the latest published package at execution time, so a compromised upstream release, typo-squatted dependency, or breaking update could cause unreviewed code execution on the user's machine.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This example invokes `npx hyperframes` without a pinned version, which allows execution of whatever package version is current at runtime. In a skill file that is meant to be copied verbatim by users, that creates a software supply-chain risk because remote code is fetched and executed implicitly.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
Unpinned `npx hyperframes` means the command's behavior and code origin are not stable over time. If the package or one of its dependencies is compromised, users following this documentation could execute malicious code during model download or preprocessing operations.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The `npx hyperframes` command is unpinned here as well, exposing users to arbitrary upstream changes or malicious package publication at the time of use. Because these are CLI instructions, the risk is direct code execution rather than a passive documentation issue.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This line instructs execution of `npx hyperframes` without constraining the package version. That makes the skill non-reproducible and vulnerable to supply-chain compromise through malicious or unexpected future releases.

Session Persistence

Medium
Category
Rogue Agent
Content
### Long Scripts

For more than a few paragraphs, write to a `.txt` file and pass the path. Inputs over ~5 minutes of speech may benefit from splitting into segments.

### Requirements
Confidence
60% confidence
Finding
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This transcription example uses `npx` with no package pinning, so the executed code may differ from what the skill author tested. Since the tool processes local media files and downloads models, a compromised package could access local data or execute arbitrary actions.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
An unpinned `npx hyperframes` command creates a registry-time dependency on whatever package version is currently published. That is a real supply-chain risk because users are encouraged to run it directly on their systems with local files as inputs.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This documentation line repeats the same unpinned package execution pattern. If the package or a transitive dependency is hijacked, users copying the command could run attacker-controlled code while expecting only subtitle import behavior.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The command uses transient execution of a non-versioned npm package, which is a classic supply-chain exposure. The context increases practical risk because the skill is an instruction set intended for direct operator use, not merely internal code.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This example also relies on the latest available `hyperframes` package through `npx`, enabling silent code changes over time. A malicious upstream release could exploit the trust users place in these examples to gain execution on developer workstations.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The background-removal example invokes `npx hyperframes` without version pinning, so users fetch and execute remote code at runtime. Because the command handles local media and may trigger model downloads, compromise could affect confidentiality and integrity of the host environment.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This `npx` usage is vulnerable to supply-chain drift and package compromise because it lacks an exact version. Users following the skill may reasonably assume the documentation is safe and stable, but the command delegates trust to the current npm registry state.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The package is not pinned in this example, so future releases can alter code execution without any documentation change. That is a real vulnerability pattern for skill content because it encourages direct execution of remote, mutable software.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This line repeats the unpinned `npx` pattern and therefore inherits the same supply-chain execution risk. If an attacker gains control of the package or publishing pipeline, users could execute malicious code under the guise of checking device info.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The command fetches and runs `hyperframes` from npm without an exact version, exposing users to mutable upstream code. Documentation that normalizes this pattern can materially increase exploitability because operators often copy commands directly.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
Like the other examples, this unpinned `npx` invocation creates a direct remote code execution path via the npm supply chain. The skill context does not mitigate the issue; if anything, repeated examples reinforce unsafe operational practice.

Whitespace Padding

Medium
Category
Prompt Injection
Content
The cutout webm is a **re-encoded copy** of the source mp4's RGB. That choice has consequences depending on what you put behind it:

| Pattern                                                  | What's behind the cutout                   | Result                                                                                                                                                                                                                            |
| -------------------------------------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Cutout over a different scene** (most common)          | Static image, gradient, or unrelated video | Looks great. The cutout's RGB is the only source of the subject — no doubling, no edge halo. This is what `remove-background` is built for.                                                                                       |
| **Cutout over its own source mp4** (text-behind-subject) | Same mp4 the cutout was generated from     | Two RGB sources for the same person. At default `--quality balanced` (crf 18) the doubling is barely visible; at `--quality fast` (crf 30) you'll see a faint color shift / edge halo. Use `--quality best` (crf 12) for masters. |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| Pattern                                                  | What's behind the cutout                   | Result                                                                                                                                                                                                                            |
| -------------------------------------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Cutout over a different scene** (most common)          | Static image, gradient, or unrelated video | Looks great. The cutout's RGB is the only source of the subject — no doubling, no edge halo. This is what `remove-background` is built for.                                                                                       |
| **Cutout over its own source mp4** (text-behind-subject) | Same mp4 the cutout was generated from     | Two RGB sources for the same person. At default `--quality balanced` (crf 18) the doubling is barely visible; at `--quality fast` (crf 30) you'll see a faint color shift / edge halo. Use `--quality best` (crf 12) for masters. |
| **Cutout over a _different_ take of the same person**    | Footage of the same subject                | Will look like two separate people overlapping. Don't do this.                                                                                                                                                                    |
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Whitespace Padding

Medium
Category
Prompt Injection
Content
| -------------------------------------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Cutout over a different scene** (most common)          | Static image, gradient, or unrelated video | Looks great. The cutout's RGB is the only source of the subject — no doubling, no edge halo. This is what `remove-background` is built for.                                                                                       |
| **Cutout over its own source mp4** (text-behind-subject) | Same mp4 the cutout was generated from     | Two RGB sources for the same person. At default `--quality balanced` (crf 18) the doubling is barely visible; at `--quality fast` (crf 30) you'll see a faint color shift / edge halo. Use `--quality best` (crf 12) for masters. |
| **Cutout over a _different_ take of the same person**    | Footage of the same subject                | Will look like two separate people overlapping. Don't do this.                                                                                                                                                                    |

**Text-behind-subject** (headline behind a presenter):
Confidence
70% confidence
Finding
Large whitespace padding was detected (a block of blank lines or a long run of spaces). This can push injected instructions below or to the right of the visible area so a human reviewer never sees them while the agent still reads them. Manual review of the hidden content is recommended.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The TTS-to-transcribe workflow begins with another unpinned `npx hyperframes` command, carrying the same supply-chain risk as earlier occurrences. Anyone following the documented chain may execute code that differs from the reviewed skill behavior.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
This final example still executes `npx hyperframes` without version pinning, so the transcription step depends on mutable upstream software. Because it operates on user-provided local media, a malicious package could abuse file access or environment permissions.

Static analysis

No suspicious patterns detected.