Back to skill

Security audit

cashu-emoji

Security checks for vulnerabilities and agentic risk

Overview

This skill describes a Cashu token emoji encoder, but it asks for broad file and command capabilities that are not well scoped to that purpose.

Review this skill carefully before installing. It handles potentially value-bearing Cashu token text and uses covert Unicode encoding, while also requesting broad local capabilities that are not necessary for that transformation. Prefer installing only if you can restrict it to explicit user-provided text, disable command execution and broad file access, and avoid using it with real funds or sensitive tokens unless you fully understand the risks.

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

Excessive Tool Permissions Violate Least Privilege

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 35–38 and 254–256
Vulnerability Type: Excessive file-system and command-execution capabilities
Risk Level: Medium

Vulnerable Code

yaml
tools:
  - read
  - exec
  - write

The declared capabilities are reinforced later in the document:

markdown
- **文件处理**: 支持多种文件格式的读取、解析和写入操作
- **API集成**: 通过标准化接口调用外部服务并处理响应
- **命令执行**: 在安全沙箱中执行系统命令并收集结果

The latter excerpt states that the skill supports file reading and writing, external API integration, and system-command execution.

Technical Analysis

The skill's stated purpose is to encode and decode Cashu tokens hidden in emoji through Unicode variation selectors. This operation can be implemented as a deterministic, local text transformation and does not inherently require arbitrary command execution, unrestricted file-system access, or external API access.

Nevertheless, the manifest requests read, write, and exec. The documentation does not define command allowlists, permitted file paths, network destination restrictions, user-confirmation boundaries, or other enforceable controls. Although it claims commands run in a sandbox, the project contains only SKILL.md; no implementation or policy is present to verify or enforce that claim.

The audit did not find an embedded malicious command or a demonstrated implementation that actively abuses these permissions. The risk arises from unnecessarily broad declared privileges and the absence of concrete restrictions.

Attack Path

  1. A user invokes the skill and supplies a Cashu token or related data for Unicode encoding or decoding.
  2. The hosting agent grants the capabilities declared in the skill manifest: file reading, file writing, and command execution.
  3. A malicious, compromised, or prompt-manipulated execution path invokes those capabilities even though they are unnecessary for Unicode conversion.
  4. The execution path reads unrelated accessible files, modifies file ...[truncated 1150 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove exec because Unicode variation-selector encoding and decoding should not require operating-system commands.
  2. Remove general read and write permissions when input and output can be exchanged directly through the agent conversation.
  3. If file processing is essential, restrict access to explicit user-selected files or a dedicated workspace directory.
  4. Require informed user confirmation before every write, overwrite, or operation involving sensitive token material.
  5. Remove external API integration unless a documented functional requirement exists. If retained, enforce an HTTPS destination allowlist and prohibit transmission of Cashu tokens, credentials, and unrelated file contents.
  6. Implement the encoder and decoder as a pure local transformation with strict input-size limits and validation of allowed Unicode variation selectors.
  7. Replace the general tool declarations with the smallest platform-specific capability set available.
  8. Add implementation code and security tests demonstrating that encoding and decoding cannot access files, launch processes, or make network requests.
  9. Clearly document the sandbox boundary and ensure restrictions are enforced by the host rather than relying on descriptive claims in Markdown.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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 (6)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill can hide Cashu tokens, i.e. transferable value, inside emoji using covert Unicode mechanisms, but the description does not clearly warn users about that capability. This omission is dangerous because it obscures the financial and steganographic risk, enabling covert transmission of value or secrets without informed user understanding.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill is presented as a narrow Cashu token emoji encoder/decoder, but its documentation expands scope into broad automation and operational capabilities. That mismatch is dangerous because it can conceal a much larger action surface, including file access and command execution, behind a benign-seeming utility label.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

File processing, API integration, and command execution are not necessary for simple Unicode-based token encoding/decoding and therefore materially enlarge the attack surface. In practice, these permissions could be abused to read local data, modify files, invoke external services, or run commands under the guise of a text-transformation task.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The document claims risky code and external dependencies were removed, yet the manifest still advertises exec, read, write, and API-style capabilities. This creates a misleading trust signal that can cause users or orchestrators to grant broader permissions than the stated Cashu emoji encoding/decoding use case requires.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

Broad invocation guidance without clear activation boundaries increases the chance that an agent may apply the skill in unintended contexts. For a skill that can hide value-bearing tokens covertly, ambiguous triggering makes misuse and accidental activation more likely.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The file presents key user-facing metadata and instructions in a mixed Chinese/English format, including a Chinese display name and substantial Chinese-only guidance, but does not state whether the skill supports multiple languages or allow the user to choose their preferred language. That can violate a language/locale policy when users are implicitly forced into a language presentation without opt-in.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.