Back to skill

Security audit

保利威直播

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent PolyV livestream admin skill, but it should be reviewed carefully because it executes a mutable npm latest package while handling production credentials and high-impact account actions.

Install only if you trust the npm package source and are comfortable giving this skill access to PolyV administrative credentials. Prefer a pinned, reviewed CLI version, use least-privilege PolyV credentials, verify the active account before writes, and avoid --force or bulk deletion unless you have separately confirmed the exact targets.

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

Error
Location
SKILL.md:4
Finding

Unpinned npm Package Is Automatically Downloaded and Executed

Content
View full analysis
` means: ```bash npx --yes polyv-live-cli@latest ``` Before executing a command, `` must be expanded to the real command above; do not execute the literal placeholder ``. If the npm latest help conflicts with a reference, the npm latest ` ... --help` output takes precedence. ``` From `references/command-index.md`: ```markdown This file is generated from the published CLI help and is used to locate command paths quickly. The corresponding `--help` must still be run before execution to validate parameters. CLI prefix: `` = `npx --yes polyv-live-cli@latest` ``` ### Technical Analysis The Skill mandates execution of `polyv-live-cli` through the mutable npm `latest` tag. The `npx --yes` combination can download and execute package code automatically without an interactive approval step. No exact version, lockfile, package integrity value, or reviewed local copy constrains the code that will execute. The effective implementation can therefore change after this Skill has been audited. The instruction that live npm output takes precedence over bundled references further makes the remotely published package authoritative over the reviewed project content. This CLI is expected to receive PolyV application credentials and exercise extensive livestream-management capabilities. Consequently, compromise of the npm package, its publisher account, the configured re ...[truncated 2083 chars]
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (53)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 56)May include surrounding context.

md
自然语言任务先读 `references/task-routing.md`。如果仍不确定命令路径,再读 `references/command-index.md`,然后用对应 help 校验真实参数。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 121)May include surrounding context.

md
自然语言任务先读 `references/task-routing.md`。如果仍不确定命令路径,再读 `references/command-index.md`,然后用对应 help 校验真实参数。

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

Scanner excerpt · SKILL.md (reported line 133)May include surrounding context.

md
自然语言任务先读 `references/task-routing.md`。如果仍不确定命令路径,再读 `references/command-index.md`,然后用对应 help 校验真实参数。

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The bulk workflow documents piping document IDs directly into forced deletion for all failed conversions, enabling mass irreversible deletion with no safety checks, preview, or warning. In this skill's context, which manages production live-stream channel assets, such guidance can lead to large-scale accidental content loss if filters are wrong, output is malformed, or IDs are mis-scoped.

Content

No source excerpt is available for this finding.

Instruction Override

High
Category
Prompt Injection
Confidence
70% confidence
Finding

This pattern attempts to override system instructions or ignore safety constraints. Without LLM analysis, manual review is recommended.

Content

Scanner excerpt · references/viewer-management.md (reported line 174)May include surrounding context.

md
| `--userId <id>` | PolyV user ID (optional) |
| `-a, --account <name>` | Use existing account configuration |
| `--verbose` | Show verbose output |
| `--debug` | Enable debug mode |
| `--timeout <ms>` | API timeout (default: 30000) |

需要长期切换账号时,优先使用 `<CLI> use <account-name>` 或 `<CLI> account set-default <name>`;单次命令可用 `-a/--account` 指定已存在账号。

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The skill is configured to run npx --yes polyv-live-cli@latest:*, which pulls and executes the latest published package version at runtime rather than a reviewed, immutable version. If the npm package is compromised, hijacked, or a malicious update is published, the agent could execute attacker-controlled code with the agent's local permissions.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The documented CLI prefix instructs repeated use of npx --yes polyv-live-cli@latest, reinforcing execution of whatever code is currently tagged as latest on npm. In a skill that manages production live-streaming accounts and credentials, this increases supply-chain risk because a malicious release could access account context, modify live resources, or exfiltrate sensitive data.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file appears to require Chinese comprehension throughout, including the title, instructions, examples, and safety notes. Under the policy, forcing a specific language without offering a language or locale choice is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documentation includes force-delete examples (-f) for single and batch channel deletion without a prominent warning that the action is irreversible and may permanently remove production livestream resources. In an administrative CLI for live-channel management, this lowers operator caution and increases the chance of accidental destructive actions, especially when users copy-paste examples verbatim.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The chat list section explains how to fetch chat history and shows output fields including message content, sender nickname, and user type, but it does not warn that the command reveals potentially sensitive or personal user data. Under the markdown-specific warning rule, skills should disclose behaviors that can affect user privacy.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The chat ban and chat kick sections document --global actions that can silence or remove users at the account level, but they do not include any cautionary warning about the broad operational impact. For markdown files, potentially disruptive actions affecting user access or service integrity should be accompanied by clear warnings.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Natural-language policy violations apply to all file types, including markdown. This document forces a specific language/locale for all instructions and examples, and there is no indication that the skill is region-specific or that users can opt into this locale.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

The document title and surrounding guidance are presented in Chinese, and the file continues with mixed-language content without stating that the skill is China-specific or giving users a language/locale option. This can violate a language/locale policy when users are not given an opt-in or an alternative language.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The document instructs users to invoke the CLI via npx --yes polyv-live-cli@latest, which pulls and executes the newest published package at runtime rather than a reviewed, fixed version. In a security-sensitive admin CLI that can manage accounts, channels, streams, viewers, and other privileged resources, a compromised publisher account or malicious package update could result in immediate arbitrary code execution or credential theft on the operator's machine.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation explicitly promotes document delete --force to bypass confirmation, but does not pair that example with an irreversible-deletion warning or guidance on when force mode is appropriate. In an administrative CLI for live-service content management, this increases the chance of accidental destructive actions by users or automation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This file is markdown, so SQP-2 applies to missing user warnings in the skill description. The donate config update command changes live donation behavior for a channel and explicitly supports bypassing confirmation, yet the documentation provides no user-facing warning about the operational impact of enabling/disabling donations or changing allowed amounts.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
85% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

Scanner excerpt · references/donate.md (reported line 70)May include surrounding context.

md
- `--cash-enabled <Y|N>` - Enable/disable cash donations
- `--gift-enabled <Y|N>` - Enable/disable gift donations
- `--amounts <values>` - Comma-separated donation amounts (e.g., "0.88,6.66,8.88")
- `-f, --force` - Skip confirmation prompt
- `-o, --output <format>` - Output format: `table` (default) or `json`

**Examples:**

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file’s instructional content is entirely in Chinese, while also embedding English command descriptions, but it does not state that Chinese is optional or limited to a specific regional context. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The entire skill file is written in Chinese, including operational instructions, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking environment. Under the stated policy, forcing a specific language without opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

This markdown file documents lottery delete and shows deletion examples using --force, which skips confirmation prompts, but it does not warn users that the action removes a lottery activity and may be irreversible. For markdown files, safety-affecting behavior should include clear warnings when user data or system state can be changed or destroyed.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The entire skill documentation is written in Chinese and does not offer a language choice or indicate that the skill is intended only for a Chinese-language or region-specific context. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The entire skill documentation is written in Chinese and provides no indication that users may choose another language or locale. Under the stated policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale restriction is clearly documented and justified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The platform callback update section documents changing or clearing callback settings, which can affect external webhook/integration behavior, but it does not warn users about possible disruption to notifications or downstream systems. Because this operation changes system-integrity-related behavior, the documentation should explicitly disclose the risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The platform setting update command can modify global channel settings such as concurrency, transcoding, and donation behavior, but the documentation does not warn that these are account-wide or potentially impactful configuration changes. For markdown skills, omission of such warnings can leave users unaware of system-wide consequences.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The documentation forces a specific language for all user-facing instructions, which can violate language/locale policy when no opt-in or alternative is provided. The file does not state that the skill is region-specific or otherwise justify the language restriction.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.