Back to skill

Security audit

Web Novel Writing Reference

Security checks for vulnerabilities and agentic risk

Overview

The skill is mainly a web-novel writing reference library, but it tells the agent to automatically install and load another skill without clear source or consent controls.

Install only if you are comfortable with the agent adding and loading universal-task-os. Prefer a version that asks before installing dependencies and identifies a trusted source, version, and verification method.

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

Unverified Automatic Installation and Loading of an External Skill Dependency

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 30-36 and 52
Vulnerability Type: Supply-chain risk caused by 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,按本技能"使用规则"执行
markdown
1. **依赖检查**:激活时按上述流程检测并安装UTOS

Technical Analysis

The Skill directs the Agent to install universal-task-os automatically whenever that dependency is absent and then load it into the active session. However, the instructions do not identify a trusted registry, approved publisher, immutable version, cryptographic digest, signature, or verification procedure. They also do not require informed user confirmation before installation.

This creates an unsafe supply-chain boundary: the effective behavior of the audited Skill depends on content resolved outside this repository at activation time. An attacker able to influence dependency resolution could publish or substitute a package under the expected name. A legitimate dependency could also be compromised or changed after this Skill has been reviewed.

The repository contains no implementation of the installer, so no specific command-injection or repository-compromise mechanism can be confirmed. The confirmed weakness is the instruction to perform automatic, unverified installation and loading.

Attack Path

  1. A user activates the Skill on a system where universal-task-os is not installed.
  2. The activation procedure detects that the dependency is absent.
  3. Following SKILL.md, the Agent automatically resolves and installs a package named universal-task-os.
  4. Because no trusted source, publisher identity, version, digest, or signature is required, a malicious or compromised component may satisfy that dependency.
  5. The newly installed ...[truncated 811 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove automatic installation from the activation path and default to the documented read-only mode when the dependency is unavailable.
  2. Require explicit user approval before installing or loading any external skill.
  3. Resolve the dependency exclusively from a documented, allowlisted registry and verify the expected publisher identity.
  4. Pin an immutable dependency version rather than resolving the latest package by name.
  5. Verify a cryptographic digest or trusted digital signature before installation and again before loading.
  6. Record the verified source, version, digest, and requested permissions in an auditable lock file or manifest.
  7. Apply least privilege to the dependency, denying filesystem, network, credential, and process-execution access unless individually required and approved.
  8. Treat verification failure as a hard failure: do not install the component and continue only in local read-only reference mode.
  9. Review and test each dependency update before changing the pinned version.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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 (8)

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

Automatic installation of another skill is a capability escalation that is not justified for a reference-library skill. It creates a supply-chain and consent risk: activation of benign-looking content can cause new code or instructions to be introduced into the environment without clear user approval.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger list includes very broad terms related to ordinary writing activity, increasing the chance of accidental activation. In this skill’s context, overbroad activation is more dangerous because activation can lead to dependency checks and attempted installation/loading of another skill.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill presents itself as a passive reference repository, but it also instructs activation-time loading and delegation to another skill. That mismatch can mislead users and host systems about the skill’s effective behavior, expanding trust and execution scope beyond what is disclosed.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The document says the skill only has reference capability without UTOS, yet it also directs activation-time detection and auto-installation of UTOS. This inconsistency weakens operator understanding and policy enforcement, making it easier for the skill to bypass expectations of being non-executing.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The documentation describes automatic dependency installation but does not clearly foreground this as a side effect requiring user awareness and consent. Hidden or under-disclosed installation behavior undermines informed consent and can surprise users with environment changes they did not request.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

This markdown file presents the skill entirely in Chinese from the title onward, with no indication that the user can choose another language or that the skill is intentionally limited to a Chinese-language audience. Under the language/locale policy, forcing a specific language without user opt-in is a natural-language policy issue.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The document title and core instructions are entirely in Chinese, and the file provides no indication that language selection is optional or limited to a justified region-specific context. This can violate language/locale policy because it implicitly requires a specific language without user opt-in.

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 document is written in Chinese and provides no indication that language choice is optional or that alternative locales are supported. Under the policy, forcing a specific language without user opt-in is a natural-language locale violation unless the locale restriction is explicitly documented and justified.

Content

No source excerpt is available for this finding.