Back to skill

Security audit

播客章节工具免费版

Security checks for vulnerabilities and agentic risk

Overview

This skill is a focused podcast chaptering helper with expected local file and optional transcription-tool use, but users should be mindful of private transcript handling and unpinned optional dependencies.

Install this only if you are comfortable letting your agent process podcast audio or transcripts. Use a dedicated virtual environment for optional Whisper installation, avoid running package installs with elevated privileges, and review generated notes before publishing because the skill is designed to create drafts only.

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:361
Finding

Unpinned Third-Party Dependency Installation

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 361
Vulnerability Type: Unpinned third-party package installation
Risk Level: Medium

Complete Code Snippet:

markdown
| Whisper(可选) | Python 库 | 推荐(音频输入) | `pip install openai-whisper` |

Technical Analysis

The documented command installs openai-whisper without a fixed version, cryptographic hashes, or a dependency lockfile. As a result, pip resolves the package and its transitive dependencies at installation time. The installed code may therefore differ from the code that was available when this Skill was audited.

The package name is consistent with the Skill's stated transcription functionality, and the audit found no evidence of typosquatting or an intentionally malicious source. Nevertheless, dynamically resolving executable third-party components creates a supply-chain exposure: a compromised release, package index, or transitive dependency could introduce malicious installation or runtime code.

Attack Path

  1. A user follows the dependency instructions and runs pip install openai-whisper.
  2. pip queries its configured package index and dynamically selects current package and dependency versions.
  3. An attacker compromises a selected package release, transitive dependency, package index, or dependency-resolution path.
  4. The compromised component is downloaded and installed.
  5. Malicious installation or runtime code executes with the privileges of the user running pip or Whisper.
  6. That code can access resources available to the process, potentially including local podcast files, transcripts, environment variables, credentials, and other user-accessible data.

Impact Assessment

Successful exploitation could result in arbitrary code execution under the installing user's account. The accessible scope would be limited by that account and its environment but could include:

  • Reading or modifying local podcast audio ...[truncated 492 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin openai-whisper and all transitive dependencies to reviewed versions through a lockfile.
  2. Publish cryptographic hashes for every resolved artifact and install with pip install --require-hashes.
  3. Explicitly identify a trusted package index rather than relying on unspecified local pip configuration.
  4. Require installation in a dedicated virtual environment or container running without elevated privileges.
  5. Review and periodically update pinned dependencies using vulnerability and provenance scanning.
  6. Prefer binary or source artifacts with verifiable provenance and signatures when available.
  7. Replace the current generic command with a reproducible installation procedure, for example:
    bash
    python -m venv .venv
    . .venv/bin/activate
    python -m pip install --require-hashes -r requirements.txt
    
  8. Warn users not to run package installation with sudo, as an administrator, or from an account with unnecessary access to sensitive files.
Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill promises privacy-preserving local draft-only behavior, but elsewhere states that an LLM API is required and mentions network-dependent operation. This mismatch can mislead users into sending transcript or audio-derived content to remote services under a false expectation of purely local processing, creating privacy and data-handling risk.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The file says the free version does not support API integration, but other sections imply dependency on an LLM API for operation. This contradiction obscures whether user content is processed through external services, which is a security and privacy concern when handling unpublished media transcripts.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill is described as a focused single-file podcast chaptering tool, but the capability section introduces broad create/query/modify/delete/import/export verbs with runtime-configurable behavior. Overbroad operational language increases the chance an agent will apply the skill outside its intended scope, potentially modifying files or exporting data unexpectedly.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

Ambiguous invocation text uses generic verbs such as create, modify, delete, import, and export without clear activation boundaries. In an agent setting with read/exec/write tools enabled, that ambiguity can cause unintended execution paths, file changes, or broader actions than the user expected.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
70% confidence
Finding

The display name, summary, and nearly all user-facing instructions are presented in Chinese, while the file only says the tool supports Chinese and English content rather than offering a user language choice. This can be interpreted as imposing a specific interaction locale without explicit opt-in.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
79% confidence
Finding

The markdown provides a natural-language instruction example for generating chapters, but the skill does not clearly enumerate the accepted trigger patterns or any non-matching cases. Without explicit trigger scope, similar everyday content-processing requests could collide with this skill.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.