Back to skill

Security audit

Pet Video Script Domain

Security checks for vulnerabilities and agentic risk

Overview

This pet-video prompt library is mostly content-only, but it tells the agent to automatically install and load an unspecified external skill, so it needs review before use.

Review this skill before installing if you do not already trust the universal-task-os dependency. It is safest to require explicit approval, a verified publisher/source, and a pinned version or digest before allowing the dependency to be installed or loaded; the pet-video reference content itself appears purpose-aligned.

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

Automatic Installation of an Unverified External Skill Dependency

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 30–36
Vulnerability Type: Unverified automatic dependency installation
Risk Level: Medium

Vulnerable Code Snippet

markdown
## 依赖声明

本技能**强依赖** Universal Task OS (universal-task-os)。没有UTOS,本技能只有参考查阅能力,无法执行任何短视频创作任务。

**加载检查流程**(每次激活时执行):

1. 检测 `universal-task-os` 技能是否已安装
2. **未安装** → 自动安装 `universal-task-os` 技能
3. **安装成功** → 同时加载UTOS,按本技能"使用规则"执行
4. **安装失败** → 降级为**只读参考模式**:

Technical Analysis

The Skill instructs the agent to automatically install and load an external Skill named universal-task-os whenever that dependency is absent. It does not specify a trusted registry, verified publisher, immutable version or commit, cryptographic checksum, signature-validation procedure, or explicit user-approval step.

Resolving a mutable package name from an unspecified source creates a supply-chain risk. An attacker could exploit dependency confusion, namespace takeover, publisher compromise, or replacement of a mutable release to make the agent install attacker-controlled content. The external dependency and its installer are not included in this project, so their behavior could not be audited.

Although the project itself contains no executable scripts, loading the dependency may expose the agent to additional instructions or executable components supplied by that package.

Attack Path

  1. A user activates this Skill in an environment where universal-task-os is not installed.
  2. The loading procedure detects that the dependency is missing.
  3. Following SKILL.md, the agent attempts to locate and automatically install a package identified only as universal-task-os.
  4. An attacker publishes or compromises a package under the resolved name or distribution source.
  5. The agent installs and loads the attacker-controlled package without integrity verification or explicit user approval.
  6. The malicious dependency receives delegated tasks and can execute any instructions or cod ...[truncated 859 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove automatic installation from the activation flow and default to read-only mode when the dependency is unavailable.
  2. Require explicit, informed user approval before installing or loading any external Skill.
  3. Specify an allowlisted, trusted registry and verify the dependency publisher or namespace owner.
  4. Pin the dependency to an immutable version, release digest, or source-control commit rather than resolving a mutable name.
  5. Publish and validate a cryptographic checksum or signed provenance record before installation.
  6. Audit the pinned dependency and its transitive dependencies before allowing it to run.
  7. Install and execute the dependency with least privilege, restricting filesystem, network, credential, and tool access to what is necessary.
  8. Fail closed if source, publisher, version, signature, or integrity verification cannot be established.
  9. Record the resolved source, version, digest, approval event, and verification result in an installation audit log.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (5)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The description declares trigger phrases such as “萌宠视频”, “宠物脚本”, and “pet video script” without narrowing context, exclusions, or invocation boundaries. These are generic topical phrases a user might mention conversationally, which makes activation scope ambiguous for a manifest/markdown skill description.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs the system to automatically install a dependency whenever it is missing, without explicit user consent or trust verification. In an agent ecosystem, silent dependency installation expands the attack surface, can pull in compromised or malicious packages, and creates an implicit execution chain the user did not approve.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The markdown explicitly requires generating an "英文subject description" and "英文prompt" for all scenes. This imposes a specific language requirement in the skill content without offering user opt-in or explaining a justified locale-specific constraint, which matches the natural-language policy violation criteria.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This markdown file repeatedly requires English output for prompts, and L011 explicitly states that the Seedance prompt must use English. Under the policy rule for natural-language violations, forcing a specific language without user opt-in can be a locale/language policy issue when no justification or alternative is provided.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

This markdown file presents all instructions, headings, and usage guidance exclusively in Chinese. Under the policy rule, forcing a specific language without user opt-in can be a natural-language policy violation when no language choice or justification is provided.

Content

No source excerpt is available for this finding.