Back to skill

Security audit

Greek Reel Video Editor

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Greek reel editing helper with expected media processing, but users should treat dependency installation and saved transcripts carefully.

Install dependencies in a dedicated virtual environment, review or pin the Python packages before use, and run the skill only on videos whose audio and generated transcript you are comfortable storing in the video directory. Expect Greek transcription/subtitles by design.

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 (2)

T08 · Insecure Dependencies

Warning
Location
skill.md:28
Finding

Unpinned Runtime Installation of openai-whisper

Content
View full analysis

Vulnerability Details

File Location: skill.md, line 28
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Medium

Complete Code Snippet:

markdown
1. Install `openai-whisper` if needed (`pip3 install openai-whisper`)

Technical Analysis

The skill instructs the agent to install openai-whisper from the package index configured for pip3 without specifying an approved version, package hash, trusted repository, or isolated environment. Consequently, the installed artifact can change after the skill has been reviewed.

This creates a supply-chain risk if the configured index is compromised, a dependency is compromised, or local package-index configuration redirects installation to an untrusted source. Python packages may execute code during installation and subsequently when imported by the transcription workflow.

No evidence establishes that the current openai-whisper package is malicious. The vulnerability is the unsafe and non-reproducible dependency acquisition process.

Attack Path

  1. A user invokes the skill on a video.
  2. The agent determines that openai-whisper is unavailable.
  3. Following skill.md, the agent runs pip3 install openai-whisper.
  4. pip3 resolves an unpinned release from its configured package index.
  5. If the index, selected release, or dependency chain has been compromised, attacker-controlled installation or runtime code executes.
  6. The malicious code runs with the privileges of the account operating the agent and can access resources available to that account.

Impact Assessment

Successful exploitation could provide arbitrary code execution under the agent user's privileges. The accessible scope may include the supplied video, neighboring media assets, generated transcripts, output files, environment variables, and other files readable or writable by that user. The instruction does not request elevated privileges, persistenc ...[truncated 99 chars]

Remediation
View remediation

Remediation Suggestions

  • Pin openai-whisper and all transitive dependencies to reviewed versions in a lock file.
  • Require cryptographic hashes, such as through pip install --require-hashes -r requirements.txt.
  • Explicitly use an approved HTTPS package index and prevent fallback to untrusted extra indexes.
  • Install dependencies in a dedicated, least-privileged virtual environment rather than the user's global Python environment.
  • Prefer a prebuilt and reviewed execution environment so skill invocation does not dynamically install packages.
  • Add dependency vulnerability scanning and a controlled process for reviewing and updating pinned versions.

T08 · Insecure Dependencies

Warning
Location
README.md:47
Finding

Unpinned Installation of Video Processing Dependencies

Content
View full analysis

Vulnerability Details

File Location: README.md, line 47
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: Medium

Complete Code Snippet:

bash
pip install openai-whisper Pillow cairosvg

Technical Analysis

The installation documentation directs users to install three packages without fixed versions or verified hashes. Resolution therefore depends on the mutable state of the configured Python package index and each package's transitive dependency graph.

A compromised release, package repository, dependency, or maliciously configured index could supply attacker-controlled code. Installation hooks may execute during installation, while malicious package code can execute when Whisper, Pillow, or CairoSVG is imported to process untrusted media and image assets.

No evidence in the audited files demonstrates that these named packages are currently malicious. The confirmed weakness is that the documented installation process lacks version integrity, source restrictions, and reproducibility controls.

Attack Path

  1. A user follows the documented setup procedure.
  2. The user runs pip install openai-whisper Pillow cairosvg.
  3. pip resolves current package versions and transitive dependencies from its configured indexes.
  4. A compromised index, release, or dependency returns a malicious distribution.
  5. Attacker-controlled code executes during installation or when the video-processing pipeline imports the installed package.
  6. The code inherits the permissions and accessible resources of the user running the installation or skill.

Impact Assessment

Exploitation could result in arbitrary code execution with the installing user's privileges. This may expose local video content, transcripts, nearby image and audio assets, generated output, environment variables, and any other resources accessible to that account. A global or privileged installation would increase th ...[truncated 111 chars]

Remediation
View remediation

Remediation Suggestions

  • Replace the unpinned command with a reviewed requirements or lock file containing exact versions.
  • Record and enforce SHA-256 hashes for every direct and transitive distribution.
  • Install packages in a project-specific virtual environment with least privilege.
  • Configure pip to use only an explicitly approved HTTPS index and avoid uncontrolled extra indexes.
  • Continuously scan locked dependencies for published vulnerabilities and review updates before changing pins.
  • Consider distributing a reproducible container or prebuilt environment rather than installing mutable dependencies during setup.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README describes the skill as producing Greek karaoke-style subtitles, which imposes a specific language/locale behavior. Because the description does not present this as an explicit user choice or a justified region-specific constraint, it matches the language/locale policy concern.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The README states the skill transcribes video using OpenAI Whisper but does not clearly disclose whether video or extracted audio may be sent to an external service. Users may reasonably assume a local-only editing workflow for a CLI/video-processing skill, so this omission can cause unintended disclosure of sensitive spoken content or personal media.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The instructions require using Whisper with language="el" and the skill description presents Greek subtitles as mandatory behavior. This is a locale/language constraint expressed in natural language and code that does not offer the user a language choice or explicit opt-in beyond selecting the skill.

Content

No source excerpt is available for this finding.