Back to skill

Security audit

Solo Mcn Domain

Security checks for vulnerabilities and agentic risk

Overview

This Markdown-only skill is not malicious, but it should be reviewed because it tells agents to automatically install and load an unverified external skill during activation.

Install only if you trust the intended `universal-task-os` dependency and your environment will ask before installing or loading it. Prefer a version-pinned, publisher-verified dependency and treat this skill as an orchestrator/reference hybrid rather than a purely inert document set.

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

Automatic Installation of an Unverified External Skill

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 27–35
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. **安装失败** → 降级为**只读参考模式**:

The same behavior is reinforced at SKILL.md:47:

markdown
1. **依赖检查**:激活时按上述流程检测并安装UTOS

Technical Analysis

The Skill instructs the Agent to install and load universal-task-os automatically whenever that dependency is absent. The dependency is identified only by a mutable name. The instructions do not define:

  • An authoritative registry or repository
  • A verified publisher identity
  • A pinned version or immutable commit
  • A cryptographic checksum or signature
  • A review step before loading
  • Explicit user authorization before installation

Consequently, dependency resolution may select a malicious or compromised component through dependency confusion, name takeover, registry compromise, or publisher compromise. Loading the resulting Skill would introduce instructions and potentially executable behavior that were not part of this audited package.

The project itself contains no dependency-fetching script or embedded malicious payload. The vulnerability is the unsafe installation directive and trust model, not evidence that the named dependency is currently malicious.

Attack Path

  1. An attacker publishes, replaces, or compromises a component resolvable under the name universal-task-os.
  2. A user activates this Skill in an environment where that dependency is not installed.
  3. The loading workflow follows SKILL.md and automatically resolves and installs the dependency without requesting user approval.
  4. No source, publisher, version, signature, or checksum is available to distinguish ...[truncated 1091 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove automatic installation during Skill activation. If the dependency is absent, use read-only mode by default.
  2. Require explicit, informed user approval before retrieving or installing any external Skill.
  3. Identify the dependency using an authoritative registry or repository URL and a verified publisher identity.
  4. Pin an immutable release version or source commit rather than resolving only the name universal-task-os.
  5. Publish and verify a cryptographic checksum or signature before installation.
  6. Inspect the dependency manifest, instructions, scripts, requested permissions, and transitive dependencies before loading it.
  7. Apply least privilege by denying network, filesystem, shell, credential, and persistence capabilities unless they are specifically necessary.
  8. Fail closed when provenance or integrity verification fails; do not load an unresolved or mismatched dependency.
  9. Record the resolved source, version, digest, approval decision, and installation result in an audit log.
  10. Prefer a separately documented manual installation procedure over activation-triggered installation.
Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases are very broad terms such as 'SEO', '视频', and '数据分析', which are common in ordinary conversation and could cause accidental activation. Over-broad activation cues increase the chance that the skill engages in contexts where the user did not intend to invoke it, potentially exposing unrelated requests to its dependency-loading and task-routing behavior.

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 reference-only knowledge base, but it also instructs the host to automatically install and load another skill and to delegate execution to it. This creates a trust-boundary mismatch: users and platforms may treat it as inert documentation while it actually drives dependency installation and execution behavior, increasing the chance of unintended capability expansion or execution of unreviewed downstream logic.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The activation flow mandates checking for, installing, and loading UTOS despite claiming the skill is only a reference without it. Automatic dependency installation at activation time is risky because it can trigger networked or privileged actions without clear consent, and it obscures which component is actually performing the work.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The quick-navigation examples use generic natural-language requests like '帮我写篇小红书' and '帮我拍个视频', which are too common to be safe activation indicators. In an auto-routing environment, such examples can reinforce broad matching and accidental invocation, especially when combined with the skill's execution-oriented dependency behavior.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

Line L36 states '生成AI生图英文prompt', which imposes English as the required output language. This is a natural-language locale/language constraint, and the file does not indicate that the user can choose another language or that English is required for a documented, region-specific reason.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

This markdown file contains only Chinese-language instructions and requirements, with no indication that users may choose another language or locale. Under the policy, forcing a specific language without user opt-in is a natural-language policy concern unless clearly justified as region-specific.

Content

No source excerpt is available for this finding.