Back to skill

Security audit

平行历史

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Chinese-language alternate-history roleplaying skill with only low-risk local game-state behavior.

Install this if you want a Chinese-language historical roleplay game and are comfortable with broad history prompts potentially starting game mode. The only persistence found is local game progress in the skill's own data/state.json file.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (10)

Tp4

High
Category
MCP Tool Poisoning
Confidence
86% confidence
Finding

声明描述的是一个较完整的“历史推演聊天游戏”,包含多个具体机制与触发意图;而实际代码只是一个辅助工具类,负责数值演化、少量事件生成和结局评分,并未实现所述的大部分核心玩法机制或聊天交互流程。此外,代码还会读写本地 state.json,属于声明中未提及的持久化能力。虽然‘推演历史演变’与描述方向相关,但实现范围明显更窄,且存在未声明能力,因此应判定为不匹配。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
83% confidence
Finding

The README presents the skill entirely in Chinese and does not state that the language is optional, user-selectable, or limited to a justified region-specific context. Under the stated policy, forcing a specific language without opt-in can be a natural-language policy violation.

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 very generic language such as '推演历史', '我想改变历史', and date-based prompts like '从1918年开始', which can easily overlap with ordinary educational or analytical history conversations. This can cause unintended skill activation and steer users into a political roleplay context when they did not explicitly request the game, increasing prompt hijacking and context-confusion risk.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding

Without declared permissions the skill's intent is opaque and cannot be validated.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The trigger phrases are broad enough to match ordinary discussion about history, politics, or counterfactuals, which can cause the skill to activate unexpectedly outside clear user intent. That can override normal conversation flow and steer users into a specialized simulation mode without an explicit opt-in boundary.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

Repeating ambiguous triggers in the usage section reinforces activation on common phrases like '推演历史' or '从 XX 年开始', which may occur in benign educational or conversational contexts. This increases the chance of unintended invocation and prompt-routing errors, especially because the skill concerns broad, high-frequency topics like history and politics.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This markdown file is natural-language documentation, and its title and all subsequent instructions are presented only in Chinese. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless the locale constraint is clearly documented and justified, which is not present here.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

This markdown file contains user-facing instructional content exclusively in Chinese, which can amount to a language/locale policy violation when no opt-in, alternative language option, or justification is provided. The policy specifically calls for flagging skills that force a specific language without user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill content is written entirely in Chinese and the interaction flow assumes Chinese-language use without presenting a language or locale choice. This can exclude or confuse users who operate in other languages, increasing the risk of misunderstanding instructions, consent, or game outputs, but it does not by itself enable code execution, data exfiltration, or privilege abuse.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The module docstring is entirely in Chinese and presents the skill description in a single fixed language. Under the policy, forcing a specific language without user opt-in or a documented regional justification is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.