Back to skill

Security audit

fairygui-tools

Security checks for vulnerabilities and agentic risk

Overview

This skill is a FairyGUI design and XML helper with disclosed local generation and validation steps, and I found no hidden network, credential, persistence, or destructive behavior.

Install only if you are comfortable with a Chinese-language FairyGUI workflow that can create local project/prototype files and run a local validator or screenshot tool on paths you provide. Review generated XML before importing it into production projects.

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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
描述强调的是生成型与转换型能力:解析 FairyGUI 工程、从 UI 效果图生成示意图和白模 XML、形成可导入编辑器的闭环包结构。但提供的代码并未处理图片、示意图生成、原型生成或包结构输出,也没有写文件生成工程内容。它只是对已有 FairyGUI XML/包目录做静态合法性校验,包括 package.xml 和 component XML 的结构、属性和值检查,以及跨文件引用检查。因此代码的实际主用途与声明存在实质性不符。

Hidden Instructions

High
Category
Prompt Injection
Content
<?xml version="1.0" encoding="utf-8"?>
<packageDescription id="唯一ID" [jpegQuality="80"] [compressPNG="true"]>
  <resources>
    <!-- 资源声明 -->
  </resources>
  <publish name="包名">
    <atlas name="Default" index="0"/>
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<?xml version="1.0" encoding="utf-8"?>
<packageDescription id="唯一ID" [jpegQuality="80"] [compressPNG="true"]>
  <resources>
    <!-- 资源声明 -->
  </resources>
  <publish name="包名">
    <atlas name="Default" index="0"/>
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!-- 组件定义(根级) -->
<Button [mode="Common|Check|Radio"] [sound="URL"] [soundVolumeScale="0~1"]/>

<!-- 组件实例(displayList 内的 component 子元素) -->
<Button [title="标题"] [icon="图标URL"]
        [selectedTitle="选中标题"] [selectedIcon="选中图标URL"]
        [checked="true"]
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Hidden Instructions

High
Category
Prompt Injection
Content
<!-- 组件定义(根级) -->
<Button [mode="Common|Check|Radio"] [sound="URL"] [soundVolumeScale="0~1"]/>

<!-- 组件实例(displayList 内的 component 子元素) -->
<Button [title="标题"] [icon="图标URL"]
        [selectedTitle="选中标题"] [selectedIcon="选中图标URL"]
        [checked="true"]
Confidence
70% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Lp3

Medium
Category
MCP Least Privilege
Confidence
70% confidence
Finding
Without declared permissions the skill's intent is opaque and cannot be validated.

Natural-Language Policy Violations

Medium
Confidence
93% confidence
Finding
This code file contains natural-language strings that effectively force a specific language/locale for users interacting with the skill. Under the policy, locale or language constraints should either be optional, user-selectable, or clearly justified as region-specific.

Static analysis

No suspicious patterns detected.