Back to skill

Security audit

🐢 Flicker - ASCII 宠物伙伴

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed local ASCII pet companion skill with some interruptive chat behavior, but no evidence of credential access, exfiltration, remote code, or destructive actions.

Install this only if you want a Chinese-language ASCII pet persona that may occasionally interrupt assistant replies. It can run a local Node script and create or update its local pet.json data file; use explicit commands or disable the skill if the automatic comments or broad triggers are distracting.

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

T01 · Skill Instruction Hijacking

Warning
Location
SKILL.md:102
Finding

Persistent Persona and Response-Flow Hijacking

Content
View full analysis
" ``` ``` ```markdown ### 4. 概率性插嘴(每次我回复后) - **触发概率**: `PATIENCE * 1%`(例:PATIENCE=10 则 10% 概率) - **前提**: 用户没有直接叫 Flicker,且宠物已存在 - **评论生成规则**(见下方) - **格式**: ``` _,--._ ( · · ) /[______]\ `` `` 🐢 **Flicker**: "" ``` ``` ```markdown ## 禁止行为 - Flicker 不能连续插嘴(每次我回复最多一条) - Flicker 不能在同一条消息内插嘴两次 - Flicker 评论不能超过 50 字 - Flicker 不能透露自己的"实现细节" ``` ### Technical Analysis The skill contains persistent behavioral instructions that alter the agent's normal response flow whenever the skill is loaded. It directs the agent to let a fabricated persona answer “instead of” the assistant when trigger phrases are detected. It also requires probabilistic, unsolicited persona commentary after otherwise unrelated assistant responses. This is instruction hijacking because the skill is not limited to performing an explicit, isolated pet-generation operation. Instead, it establishes ongoing rules governing future responses in the active session. The implementation-details nondisclosure instruction further reduces transparency by discouraging the agent from explaining how the behavior is produced. The relevant behaviors are implemented through natural-language instructions rather than malicious JavaScript. The reviewed generator script only creates random pet data and prints it to standard output; it does not execute a remote payload, access credentials, or modify system security controls. ### Attack Path 1. A user or administrator installs and enables the skill. 2. The agent loads `SKILL.md` into its instruction context. 3. The skill establishes persistent trigger an ...[truncated 1474 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The declared description says the skill is an ASCII pet companion, specifically Flicker, that produces snarky remarks based on conversation content. The code instead behaves as a random pet generator: it selects a random species and name, rolls stats, derives rarity and a canned personality string, and renders ASCII art. There is no input handling, no conversation parsing, no dialogue-conditioned comment generation, and no mechanism for responding to user content. While the generated personality may mention snark, that is just a static descriptive field in a randomly generated pet profile, not the described core behavior. Therefore the implemented primary purpose materially differs from the declared purpose.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The visible instructions and usage documentation are primarily in Chinese, which effectively forces a specific language for users of the skill. Under the stated policy, language restrictions should either be optional for the user or explicitly justified as locale-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The description and operational instructions are presented entirely in Chinese and define the skill's behavior in that language, with no opt-in, language selection, or justification for a locale-specific constraint. This can violate language/locale policy when the skill implicitly forces a specific language for all users.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases include common natural-language terms such as 'buddy', '我的宠物', and 'Flicker', which can easily appear in ordinary conversation and cause the skill to hijack replies unexpectedly. In an agent environment, overly broad activation can lead to unrequested behavior, disclosure of internal state, or interference with higher-priority user tasks.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The rule allowing pet generation when the pet file does not exist makes state-changing behavior occur implicitly rather than from explicit user consent. Because generation invokes command execution and file writes, an ordinary request could unexpectedly trigger filesystem modification and process execution in the background.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill documents use of write and exec capabilities to create or update pet data, but does not warn the user that invoking the skill can modify local files and launch a script. Hidden state changes and command execution increase risk because users may trigger the skill expecting a harmless chat feature while it performs side effects on the host environment.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest says the skill's purpose is to act as an ASCII pet companion named Flicker that produces sarcastic commentary according to dialog context. In this file, the code only creates a random pet object, computes random stats/personality, and prints an ASCII preview; there is no input handling, conversation analysis, or comment generation tied to user dialogue.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The file-level documentation explicitly frames the script as a 'Buddy Pet Generator' that '生成随机宠物属性' (generates random pet attributes). That documented intent diverges from the broader skill description, which says Flicker should generate toxic/snarky comments based on conversation content.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The README explicitly describes behavior where the skill may inject unsolicited comments after normal AI responses. Even though this is framed as a pet feature rather than a covert action, unexpected post-response interjections can disrupt user workflows, create confusion about what content is assistant-authored versus skill-authored, and increase prompt-surface for social engineering or harassment-style output.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This file contains natural-language content in multiple fixed languages, including a Chinese description and comments, while the runtime output is in English. That can violate a language/locale policy when no user opt-in or documented locale scope is provided.

Content

No source excerpt is available for this finding.