Back to skill

Security audit

阴阳岛肉鸽

Security checks for vulnerabilities and agentic risk

Overview

This is a browser-based Chinese roguelike game, with only ordinary game-state storage and no evidence of system access, exfiltration, or hidden unsafe behavior.

Before installing, users should know this is a Chinese-language browser game that stores progress locally in the browser and loads a font from Google. The broad trigger phrases may be less precise than ideal, but the inspected artifacts do not show hidden system access, credential handling, destructive behavior, or data exfiltration.

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
Vulnerability Patterns
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • Rogue AgentSelf-Modification, Session Persistence
  • 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 (10)

Ae1

High
Category
analysis-evasion
Content
直接打开 `index.html` 即可游玩。
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Unvalidated Output Injection

High
Category
Output Handling
Content
}
        output += '\n';
      }
      document.getElementById('game').innerHTML = output;
    }
    
    function move(dx, dy) {
Confidence
80% confidence
Finding
Model output is used without validation or sanitization. Unvalidated output injected into downstream contexts (SQL, shell, HTML) enables injection attacks and arbitrary code execution.

Self-Modification

High
Category
Rogue Agent
Content
document.getElementById('floor').innerText = floor;
      document.getElementById('energy').innerText = `${player.energy}/${player.maxEnergy}`;
      
      // Update skill buttons state
      if (player.class) {
        const skills = SKILLS[player.class];
        skills.forEach(skill => {
Confidence
85% confidence
Finding
Skill modifies its own code, configuration, or behavior at runtime. Self-modification enables an agent to escalate privileges, disable safety constraints, or install persistent backdoors.

Natural-Language Policy Violations

Medium
Confidence
84% confidence
Finding
The file is written entirely in Chinese and the title immediately frames the interface specification in that language, but there is no statement that the skill is China-specific, optional by user preference, or otherwise locale-justified. Under the language/locale policy rule, forcing a specific language without opt-in is a natural-language policy concern.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger phrases include very generic commands such as “打开游戏” and “玩肉鸽”, which can plausibly appear in normal conversation and overlap with requests intended for other game-related skills. Overly broad invocation phrases increase the chance of accidental activation or routing ambiguity, which can cause unintended skill execution even though the skill itself appears harmless.

Natural-Language Policy Violations

Medium
Confidence
97% confidence
Finding
The document declares `lang="zh"`, and the interface text throughout the file is exclusively Chinese, with no indication that this locale limitation is optional or region-specific. This can violate language/locale policy when users are not given a choice or explicit opt-in.

Natural-Language Policy Violations

Low
Confidence
72% confidence
Finding
All user-facing instructions and trigger phrases are written exclusively in Chinese, and the file does not indicate that the skill is region-specific or that users can choose another language. This can be a natural-language policy concern when a skill implicitly forces a specific language without opt-in or justification.

Natural-Language Policy Violations

Low
Confidence
92% confidence
Finding
This markdown file presents the skill specification exclusively in Chinese, including headings, controls, and acceptance criteria. Under the policy rule for language/locale, forcing a specific language without user opt-in or justification can be a natural-language policy violation.

Intent-Code Divergence

Low
Confidence
98% confidence
Finding
The code comments and function name describe a three-choice interaction with the mysterious elder, implying the player can choose among options. However, the implementation explicitly states '简化版:直接随机执行一个' and randomly executes one action, which changes the intended behavior from player choice to forced randomness.

Missing User Warnings

Low
Confidence
90% confidence
Finding
This code persists gameplay data, achievements, and cycle progress to localStorage, which is a client-side data write operation. While the save/load buttons and success logs indicate the action occurred, there is no user-facing warning that data will be stored locally and retained across sessions.

Static analysis

No suspicious patterns detected.