Back to skill

Security audit

Local Video Understanding

Security checks for vulnerabilities and agentic risk

Overview

This is a mostly local video-analysis skill, but it includes an under-scoped optional cloud LLM step that could send video-derived content off-device despite local-only framing.

Review this skill before installing if your videos contain private, confidential, or regulated content. Use it in local-only mode unless you explicitly choose a cloud LLM provider and are comfortable sending transcripts or frame descriptions there; install dependencies in an isolated environment and prefer pinned or verified packages/models.

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
README.md:25
Finding

Unpinned Third-Party Python Dependency

Content
View full analysis

Vulnerability Details

File Location: README.md, line 25
Vulnerability Type: Supply-chain risk caused by an unpinned third-party dependency
Risk Level: Medium

Vulnerable Code

bash
pip install funasr

Technical Analysis

The installation instructions retrieve and install the latest available funasr package and its transitive dependencies without version constraints, cryptographic hashes, a lockfile, or a reviewed source reference. As a result, the code installed can change after this skill has been audited.

Because Python packages may execute code during installation, import, or normal use, a compromised package release or transitive dependency could run attacker-controlled code. The project itself contains only documentation and no bundled malicious script was identified; the risk arises from unsafe dependency acquisition.

Attack Path

  1. An attacker compromises the funasr package distribution channel, a maintainer account, or one of its transitive dependencies.
  2. The attacker publishes a malicious version that remains compatible with the unpinned installation command.
  3. A user follows the documented setup procedure and runs pip install funasr.
  4. pip resolves and installs the attacker-controlled release or dependency.
  5. Malicious code executes during installation, import, or subsequent speech-recognition use with the privileges of the user running Python.

Impact Assessment

Successful exploitation could allow arbitrary code execution under the installing or runtime user's account. Depending on that account's permissions, the attacker could access local files and processed video or audio data, steal accessible credentials, alter environment packages, or perform network operations. The project does not request administrative privileges, so privilege escalation beyond the invoking user's permissions is not established.

Remediation
View remediation

Remediation Suggestions

  1. Pin funasr and all transitive dependencies to versions that have been reviewed and tested.
  2. Generate and commit a dependency lock or requirements file containing cryptographic hashes.
  3. Install with hash verification, for example:
bash
python -m pip install --require-hashes -r requirements.txt
  1. Explicitly configure and document the trusted package index rather than relying on implicit package-source configuration.
  2. Regularly scan locked dependencies for known vulnerabilities and review updates before changing pinned versions.
  3. Recommend installation in an isolated virtual or Conda environment with only the permissions needed for local media processing.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (5)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The instructions prefer FunASR for Chinese audio and hard-code a Chinese ASR model, steering usage toward a specific language path. Because the skill is presented as a general local video understanding skill rather than a clearly China- or Chinese-only tool, this creates a language/locale policy concern without user opt-in or explicit scope limitation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill is presented as a local video understanding capability, but it explicitly introduces optional use of a cloud LLM for summarization and analysis. That creates a trust-boundary change where video-derived content may leave the local machine, contradicting user expectations and increasing data exposure risk.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The documented cloud API step is not necessary to fulfill the stated local-only purpose, so it expands capability beyond the declared scope without justification. Unnecessary remote processing increases privacy, compliance, and data-handling risks, especially for sensitive video transcripts or frame descriptions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill states that audio transcription and image understanding results may be combined with a cloud LLM API, but gives no warning that potentially sensitive video-derived information could be transmitted off-device. Users handling personal, confidential, or regulated media may unknowingly expose private content to third parties.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The README states that the FunASR model is downloaded automatically on first use, but it does not warn users that using the skill may trigger outbound network access and retrieval of third-party artifacts. In a local video-understanding skill, this matters because users may reasonably expect fully local processing, and undisclosed downloads can create privacy, supply-chain, or compliance concerns in restricted environments.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.