Back to skill

Security audit

B站视频信息服务

Security checks across malware telemetry and agentic risk

Overview

The skill appears purpose-related, but it persists a user API key in plaintext and has documentation drift that users should review before installing.

Review before installing. Use a narrowly scoped or disposable API key if possible, avoid pasting secrets into chat, and confirm whether the skill will write `.env` in your workspace. Check that `.env` is not committed or synced, and treat the unrelated workflow text as a sign the package needs cleanup before broad trust.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (12)

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill documentation describes capabilities that include environment access, file read/write, and network use, yet no permissions are declared. This creates a transparency and policy-enforcement gap: users and the platform may not realize the skill can persist secrets locally and make outbound requests, increasing the risk of unintended data exposure or misuse.

Intent-Code Divergence

Medium
Confidence
91% confidence
Finding
The workflow example references unrelated gaokao/search_schools behavior, indicating copy-paste drift between the advertised purpose and the documented implementation. Such mismatches are dangerous because they can cause the agent to invoke unintended tools or process the wrong data, undermining least-privilege expectations and user trust.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill instructs the agent to collect a user-provided API key and save it, but gives no warning about storage security, scope, retention, or masking. In a skill with file-write and environment capabilities, this can lead to credential leakage, reuse across sessions, or exposure through logs or local files if handled insecurely.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
This function persists the provided API key into a local .env file and process environment without any warning, consent flow, or file-permission safeguards. Storing credentials in plaintext can expose them to other local users, backups, logs, or accidental source control inclusion if the workspace is shared or misconfigured.

Credential Access

High
Category
Privilege Escalation
Content
def save_api_key_to_env(api_key: str) -> bool:
    """将API key保存到.env文件"""
    try:
        env_path = Path(".env")
        lines = []
        if env_path.exists():
            lines = env_path.read_text(encoding="utf-8").splitlines()
Confidence
88% confidence
Finding
.env"

Credential Access

High
Category
Privilege Escalation
Content
def set_api_key(api_key: str) -> bool:
    """设置API key并持久化到.env"""
    if not api_key or not api_key.strip():
        return False
    api_key = api_key.strip()
Confidence
86% confidence
Finding
.env"

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.31.0
pydantic>=2.7.0
pydantic-settings>=2.2.0
python-dotenv>=1.0.1
Confidence
98% confidence
Finding
requests>=2.31.0

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.31.0
pydantic>=2.7.0
pydantic-settings>=2.2.0
python-dotenv>=1.0.1
Confidence
96% confidence
Finding
pydantic>=2.7.0

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.31.0
pydantic>=2.7.0
pydantic-settings>=2.2.0
python-dotenv>=1.0.1
Confidence
96% confidence
Finding
pydantic-settings>=2.2.0

Unpinned Dependencies

Low
Category
Supply Chain
Content
requests>=2.31.0
pydantic>=2.7.0
pydantic-settings>=2.2.0
python-dotenv>=1.0.1
Confidence
97% confidence
Finding
python-dotenv>=1.0.1

Known Vulnerable Dependency: requests==2.31.0 — 5 advisory(ies): CVE-2024-47081 (Requests vulnerable to .netrc credentials leak via malicious URLs); CVE-2024-35195 (Requests `Session` object does not verify requests after making first request wi); CVE-2026-25645 (Requests has Insecure Temp File Reuse in its extract_zipped_paths() utility func) +2 more

Medium
Category
Supply Chain
Confidence
93% confidence
Finding
requests==2.31.0

Known Vulnerable Dependency: python-dotenv==1.0.1 — 1 advisory(ies): CVE-2026-28684 (python-dotenv: Symlink following in set_key allows arbitrary file overwrite via )

Low
Category
Supply Chain
Confidence
80% confidence
Finding
python-dotenv==1.0.1

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.