Back to skill

Security audit

创意总监免费版

Security checks for vulnerabilities and agentic risk

Overview

This creative-advice skill is not malicious, but it asks for command execution and file read/write permissions that its own documentation says it does not need.

Review this before installing. It appears to be a text-only creative helper, so it should not need shell execution or broad file read/write access. Prefer installing only if those permissions are removed or if the platform lets you deny exec/write and require confirmation for any file access.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:5
Finding

Excessive Tool Permissions for a Markdown-Only Skill

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 5 and 18–21; supporting contradictory statements at lines 274 and 283
Vulnerability Type: Least-privilege violation through unnecessary command execution and filesystem permissions
Risk Level: Medium

Vulnerable Code

yaml
allowed-tools: read exec
yaml
tools:
  - exec
  - read
  - write

The skill later states that it is a pure Markdown skill whose core functionality does not require command execution. Its error-handling guidance nevertheless recommends executing ping for network diagnostics.

Technical Analysis

The skill provides creative consultation, brainstorming, proposal evaluation, and creative-brief generation using the agent's built-in language model. These text-generation functions do not legitimately require shell execution or filesystem read/write access.

Despite that limited purpose, the metadata requests:

  • exec, which can run local operating-system commands.
  • read, which can access files available to the agent.
  • write, which can modify files available to the agent.

The declarations are internally inconsistent because write appears under tools but not under allowed-tools. Depending on how the host platform interprets these fields, it may grant the broader set, reject the skill, or produce unpredictable authorization behavior.

This finding is a capability exposure rather than evidence of active malicious use. The reviewed skill contains no instruction that directly reads sensitive files, modifies local data, or executes a malicious command. Nevertheless, granting these capabilities creates an avoidable security boundary violation: later untrusted input, prompt injection, or future changes to the skill could use permissions that its advertised functionality does not need.

Attack Path

  1. A user or administrator installs or loads the skill.
  2. The host interprets the metadata and grants exec, read, and potentially write.
  3. The ...[truncated 1270 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove exec, read, and write because the documented core workflow is fully language-model based.
  2. Use one authoritative tool declaration rather than conflicting allowed-tools and tools fields.
  3. If the platform requires explicit metadata, declare an empty tool set using the platform's supported syntax.
  4. Remove the recommendation to execute ping; replace it with non-executable guidance to verify platform or model availability.
  5. If a future feature genuinely requires a tool, grant only that tool for the shortest possible scope and require explicit user approval for sensitive operations.
  6. Enforce host-side sandboxing, filesystem allowlists, command allowlists, and per-call authorization rather than relying only on skill metadata.
  7. Add validation that rejects inconsistent capability declarations during packaging or installation.

A hardened configuration should conceptually contain no tool permissions:

yaml
allowed-tools: []
tools: []

The exact empty-list syntax should follow the host platform's schema.

Vulnerability Patterns
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (8)

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill presents itself as a pure creative-consultation Markdown skill, yet its documentation and manifest include save/export semantics and privileged write capability. This mismatch can mislead users and calling agents into granting unnecessary filesystem access, creating a path for unintended file creation or modification outside the skill’s stated purpose.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The documentation explicitly claims the skill is pure Markdown and does not require exec, while the manifest authorizes exec. This contradiction is dangerous because it conceals active command-execution capability behind a low-risk description, increasing the chance that an agent or user will trust and invoke the skill with more privileges than necessary.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill says no external tools or APIs are needed, but declares read/exec/write tools and operational behavior consistent with tool use. Hidden tool capability is risky because it defeats least-privilege expectations and can enable filesystem access or command execution in contexts where users believe the skill is text-only.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

L003 明确写有“支持中文交互”,且全文围绕中文使用展开,但没有说明是否支持用户自主选择其他语言或这是一个特定区域限定工具。按规则,这属于语言/locale 约束的自然语言政策问题,因为它未体现用户选择或充分的地域性理由。

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

Command execution is unjustified for a brainstorming and idea-evaluation skill whose core function is content generation. Even without an explicit payload, granting exec unnecessarily expands the attack surface and could be abused by future prompt injections, user-supplied content, or implementation changes to run local commands.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Read/write capabilities are not justified by the stated purpose of offering creative advice and brainstorming. In this context, granting file access is more dangerous because the skill is marketed as lightweight and content-only, so an invoking agent may expose local files or permit persistence without users anticipating that risk.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

L150 将触发条件写为“需要营销推广、广告投放、获客转化、增长裂变时使用”,范围非常宽,覆盖大量常见业务对话,但没有给出明确的触发短语、边界或反例。虽然提到“不适用于非本工具能力范围的需求”,但仍未具体说明何种请求应激活或不应激活该技能。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

L024 的核心功能再次强调“本技能提供中文交互”,但没有补充可切换语言、用户偏好优先或地域适用范围说明。该自然语言描述会强化技能默认仅中文的行为预期,构成同类语言策略风险。

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.