Back to skill

Security audit

bilibili-all-in-one-free

Security checks for vulnerabilities and agentic risk

Overview

This Bilibili toolbox is not clearly malicious, but it needs Review because its requested command/write authority, credential guidance, callback option, and installation instructions are broader or less clear than the stated public-API purpose.

Review before installing. Use an isolated virtual environment, pin dependencies yourself, avoid running with administrator privileges, do not provide an API key unless the publisher explains why it is needed, and only use callback_url with an endpoint you control and expect to receive the results.

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

Unpinned Third-Party Python Dependencies

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:89
Vulnerability Type: Unpinned third-party dependencies and missing integrity verification
Risk Level: Medium

Vulnerable Code Snippet:

bash
pip install httpx aiohttp beautifulsoup4 lxml requests

Technical Analysis

The installation instruction retrieves five third-party packages without specifying reviewed versions or cryptographic hashes. Dependency resolution therefore varies over time and trusts whichever distributions the configured Python package index supplies when the command is executed.

Python packages can run package-controlled build or installation logic. If a dependency release or the configured package index is compromised, following this instruction could cause unreviewed code to execute with the privileges of the user running pip. The absence of a lock file and hash verification also prevents reproducible installation and makes unexpected dependency changes harder to detect.

The audited package contains only SKILL.md; it does not include the referenced main.py implementation. Therefore, the dependency set cannot be validated against an actual implementation, and the necessity and safe version ranges of these packages cannot be established from the available project contents.

Attack Path

  1. An attacker compromises a listed package, one of its transitive dependencies, or a package index used by the victim.
  2. The attacker publishes a malicious release that satisfies unrestricted dependency resolution.
  3. A user follows the documented pip install command.
  4. pip resolves and downloads the attacker-controlled distribution because no version or hash constraints are present.
  5. Malicious build, installation, or runtime code executes in the user's environment.
  6. The resulting access is limited by the privileges and environment of the user running the installation or subsequently importing the package.

Impact Asse

...[truncated 747 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin every direct dependency to a reviewed version and constrain transitive dependencies through a generated lock file.
  2. Record cryptographic hashes for all resolved distributions and install them with hash enforcement, such as pip install --require-hashes -r requirements.txt.
  3. Generate and review the lock file using a dependency-management tool such as pip-tools, Poetry, or uv.
  4. Install dependencies inside an isolated virtual environment under a non-privileged account; do not run pip with administrator or root privileges.
  5. Configure an approved package index and disable untrusted supplemental indexes to reduce dependency-confusion exposure.
  6. Add automated dependency vulnerability and integrity scanning to the release process.
  7. Include the referenced implementation in the package so reviewers can verify which dependencies are genuinely required and remove unused packages.
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 (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

Defining the main input as arbitrary 'input data or instruction' gives the skill an unnecessarily broad trigger surface, making it easier for a caller to repurpose it beyond its intended Bilibili-only operations. In an agent environment with read/exec/write tools enabled, vague input contracts increase the risk of prompt-driven misuse, unintended file operations, or execution paths not tied to the advertised function.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The optional callback_url parameter permits sending execution results to an external endpoint, but the documentation provides no privacy or trust warning. This creates a clear data egress risk: users may unknowingly transmit video metadata, URLs, logs, or other contextual information to third-party infrastructure controlled by an attacker or untrusted service.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest repeatedly states that all functionality is based on Bilibili public APIs and requires no credentials, specifically contrasting the free version with cookie-based paid capabilities. However, the SKILL.md runtime section instructs users to configure an API_KEY environment variable, which is a behavioral and operational mismatch with the stated no-credential model.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The document states in the capability boundaries that the free version does not support credential management and does not need credentials, yet the environment setup section explicitly tells users to export and safeguard an API_KEY. This is an active contradiction in the skill's own documentation about whether credentials are part of its operation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill advertises local video downloads but does not clearly disclose that it will write files to disk, where they will be stored, or under what naming/path rules. In agent contexts, silent file creation can surprise users, overwrite data, consume storage, or place downloaded content in sensitive workspaces without informed consent.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The stated purpose is a Bilibili public-API toolbox for hot lists, video download, stats, and danmaku retrieval. The '关键特性' section expands this into broad file processing, arbitrary write operations, and sandboxed command execution, which are generic capabilities not inherently justified by the declared product scope.

Content

No source excerpt is available for this finding.