Back to skill

Security audit

Faster Whisper Local

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local audio transcription tool whose setup and file access are mostly disclosed and aligned with that purpose, with dependency-supply-chain cautions.

Install only if you are comfortable with setup downloading current Python packages and Whisper model assets into a local virtual environment. For higher assurance, pin and hash dependencies before setup, and review the model/dependency download behavior in your environment.

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
requirements.txt:2
Finding

Unpinned Third-Party Dependencies Installed Without Integrity Verification

Content
View full analysis

Vulnerability Details

File Location: requirements.txt:2, with unsafe installation behavior in setup.sh:119-128 and setup.sh:136-164
Vulnerability Type: T08: Insecure Dependencies
Risk Level: Medium

Complete vulnerable code snippets:

text
# requirements.txt:2
faster-whisper>=1.0.0
bash
# setup.sh:119-128
echo "Installing faster-whisper..."
if command -v uv &> /dev/null; then
    uv pip install --python "$VENV_DIR/bin/python" -r "$SCRIPT_DIR/requirements.txt"
else
    "$VENV_DIR/bin/pip" install --upgrade pip
    "$VENV_DIR/bin/pip" install -r "$SCRIPT_DIR/requirements.txt"
fi
bash
# setup.sh:136-164
if command -v uv &> /dev/null; then
    uv pip install --python "$VENV_DIR/bin/python" torch --index-url https://download.pytorch.org/whl/cu121
else
    "$VENV_DIR/bin/pip" install torch --index-url https://download.pytorch.org/whl/cu121
fi
echo "✓ PyTorch with CUDA installed"
elif [ "$OS_TYPE" = "macos" ]; then
    echo ""
    echo "🍎 Installing PyTorch for macOS..."
    if command -v uv &> /dev/null; then
        uv pip install --python "$VENV_DIR/bin/python" torch
    else
        "$VENV_DIR/bin/pip" install torch
    fi

Technical Analysis

The faster-whisper dependency uses an open-ended lower-bound constraint, allowing the package resolver to install any current or future version at or above 1.0.0. PyTorch is installed without any version constraint. Neither installation path uses a hash-locked requirements file or another mechanism that authenticates the exact expected artifacts and transitive dependency graph.

As a result, the effective code installed by setup.sh can change over time without any corresponding change to the reviewed Skill package. A compromised upstream release, compromised distribution account, malicious transitive dependency, or unexpected future package version could introduce arbit ...[truncated 1822 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin every direct dependency to an exact reviewed version, including faster-whisper and each platform-specific PyTorch build.
  2. Generate separate lockfiles where necessary for supported operating systems, architectures, Python versions, and CUDA variants.
  3. Include cryptographic hashes for all resolved artifacts and enforce hash verification during installation, such as with pip install --require-hashes.
  4. Lock and review transitive dependencies rather than constraining only direct packages.
  5. Avoid upgrading pip to an unspecified latest version during routine setup. Pin the installer tooling or provision a reviewed version separately.
  6. Use only explicitly approved package indexes and retain HTTPS certificate validation. Keep PyPI and the PyTorch index configuration isolated so dependency resolution cannot unexpectedly cross sources.
  7. Regenerate dependency locks through a controlled update process that includes vulnerability scanning, provenance review, compatibility testing, and human approval.
  8. Prefer verified binary wheels where available and reject unexpected source builds to reduce exposure to build-time code execution.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The skill advertises executable setup and usage commands and implicitly requires shell and file-writing behavior, but it does not declare any explicit tool scope such as permissions or allowed-tools. That mismatch weakens policy enforcement and increases the chance an agent may invoke shell operations or modify files without clear authorization boundaries.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · setup.sh (reported line 49)May include surrounding context.

sh
if [ "$OS_TYPE" = "macos" ]; then
        echo "   brew install ffmpeg"
    else
        echo "   Ubuntu/Debian: sudo apt install ffmpeg"
        echo "   Fedora: sudo dnf install ffmpeg"
        echo "   Arch: sudo pacman -S ffmpeg"
    fi

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · setup.sh (reported line 50)May include surrounding context.

sh
if [ "$OS_TYPE" = "macos" ]; then
        echo "   brew install ffmpeg"
    else
        echo "   Ubuntu/Debian: sudo apt install ffmpeg"
        echo "   Fedora: sudo dnf install ffmpeg"
        echo "   Arch: sudo pacman -S ffmpeg"
    fi

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · setup.sh (reported line 51)May include surrounding context.

sh
if [ "$OS_TYPE" = "macos" ]; then
        echo "   brew install ffmpeg"
    else
        echo "   Ubuntu/Debian: sudo apt install ffmpeg"
        echo "   Fedora: sudo dnf install ffmpeg"
        echo "   Arch: sudo pacman -S ffmpeg"
    fi

Vague Triggers

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The description says to use the skill when asked to "transcribe audio", "whisper", or "speech to text". While some phrases are specific, "whisper" is ambiguous and the file does not provide exclusions or context limits to clarify when the skill should not activate.

Content

No source excerpt is available for this finding.

Unpinned Dependencies

Low
Category
Supply Chain
Confidence
88% confidence
Finding

The dependency is specified with only a lower bound, which allows future releases of faster-whisper to be installed without review. This creates supply-chain and stability risk because a compromised, breaking, or vulnerable upstream version could be pulled into the environment unexpectedly.

Content

Scanner excerpt · requirements.txt (reported line 2)May include surrounding context.

text
# Core dependency — PyTorch installed separately by setup script (with CUDA if GPU detected)
faster-whisper>=1.0.0

Static analysis

No suspicious patterns detected.