Back to skill

Security audit

韦特塔罗占卜免费版

Security checks for vulnerabilities and agentic risk

Overview

This tarot-reading skill is not clearly malicious, but it asks for file and command permissions that do not fit its natural-language purpose.

Review before installing. The skill appears to be a tarot text assistant, but it should not need shell commands or broad file access. Install only in a sandbox or after removing read/write/exec permissions and clarifying whether readings can ever be saved or exported.

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

Unnecessary Filesystem and Command-Execution Permissions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 33-36
Vulnerability Type: Excessive tool permissions violating least privilege
Risk Level: Medium

Vulnerable Code

yaml
tools:
  - read
  - exec
  - write

Technical Analysis

The skill declares read, exec, and write access even though its stated purpose is to generate natural-language tarot readings. That functionality does not require filesystem access or local command execution.

In particular, the exec permission creates an unnecessary command-execution channel, while read and write allow the agent to inspect or alter local files. The document's later references to an MD+EXEC classification and network diagnostics do not establish a legitimate requirement for these capabilities.

This violates the principle of least privilege. The declaration alone does not prove that malicious commands are currently executed, but it materially increases the consequences of prompt injection, ambiguous operational instructions, or future changes to the skill.

Attack Path

  1. The skill is loaded with read, write, and exec tools enabled.
  2. An attacker supplies crafted user input, or attacker-controlled content is introduced into the conversation.
  3. The content attempts to persuade the agent that reading files, writing output, or executing a command is necessary for the tarot request.
  4. If the agent follows those instructions without adequate authorization checks, it invokes one or more unnecessarily available tools.
  5. Tool invocation could expose local data, modify files accessible to the agent, or execute commands with the privileges of the hosting process.

This is a conditional exploitation path: successful exploitation depends on the host agent's tool authorization controls and resistance to prompt injection.

Impact Assessment

Potential impact is limited by the operating-system privileges and sandbox applied to the agent process. In an insufficiently iso ...[truncated 518 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove all tool permissions because the advertised tarot-reading functionality can be implemented entirely through language-model generation:
yaml
tools: []
  1. If the hosting platform permits omission, remove the tools field instead of declaring an empty list.

  2. Remove or revise documentation that classifies the skill as requiring command execution.

  3. Remove network-diagnostic instructions such as running ping; they are unrelated to the skill's legitimate function.

  4. Do not add persistence for saving readings unless it is explicitly required. If storage is later introduced:

    • Request narrow, purpose-specific storage access.
    • Require explicit user consent before saving content.
    • Restrict writes to a dedicated application directory.
    • Prevent arbitrary paths and path traversal.
    • Define retention and deletion controls.
  5. Enforce host-level safeguards independently of the skill declaration:

    • Require confirmation before command execution.
    • Sandbox the agent with minimal filesystem access.
    • Apply command and path allowlists.
    • Deny access to credentials, configuration secrets, and unrelated user files.
    • Log and review sensitive tool invocations.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill declares write capability despite also describing the free version as non-persistent and current-conversation-only. Unnecessary file write access increases the chance of unauthorized local modifications, data leakage through exports, or persistence beyond user expectations.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The description explicitly says the skill '强化中文本地化', and the rest of the document is written to operate in Chinese, but there is no indication that users may choose another language or opt into the locale constraint. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the limitation is clearly documented and justified.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill declares write capability despite also describing the free version as non-persistent and current-conversation-only. Unnecessary file write access increases the chance of unauthorized local modifications, data leakage through exports, or persistence beyond user expectations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The skill describes save/export/modify behavior and requests write/exec tools without giving clear user-facing warnings that local files or the system may be affected. In the context of a tarot skill, this lack of transparency is especially dangerous because users would not reasonably expect system-affecting operations from such a benign-seeming function.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This markdown file explicitly says the skill is '纯自然语言驱动' and gives generic trigger examples like '帮我抽一张塔罗牌' and '帮我占卜一下最近的事业运' without any explicit activation constraints or negative examples. The description does not clearly distinguish when the skill should activate versus when a general assistant should simply respond conversationally, which increases the risk of unintended invocation.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The quick-start section claims no command-line operation is needed, but the dependency and error-handling sections reference exec-driven behavior such as running ping. This mismatch obscures the real privilege requirements of the skill and may cause an agent to grant or invoke shell access unexpectedly.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill states that the free version does not persist divination records, yet elsewhere advertises save/export behavior and declares write capability. This inconsistency can mislead users and host agents into allowing file writes or data retention that the user would not expect, creating privacy and trust risks.

Content

No source excerpt is available for this finding.