Back to skill

Security audit

3D游戏构建器免费版

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a browser game generator, but it asks for broad execution/write/browser capability and includes under-scoped local server and activation instructions that deserve review before installation.

Review this skill before installing. Use it only for browser 3D game prototyping, keep generated files in a dedicated directory, bind any preview server to 127.0.0.1, and avoid storing prompts, credentials, or private files in the served folder. Treat the online sharing and broad development/deployment claims as unsupported unless the publisher clarifies them.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:152
Finding

Development Preview Server Exposed on All Network Interfaces

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 152–158
Vulnerability Type: Externally reachable unauthenticated development server
Risk Level: Medium

bash
# 在游戏目录启动服务器
cd /tmp/game-build
python -m http.server 8000

# 打开浏览器访问 http://localhost:8000

Technical Analysis

The documented preview command starts Python's built-in HTTP server without specifying a bind address. By default, python -m http.server 8000 listens on all available network interfaces rather than only the loopback interface.

Although the documentation describes the service as accessible through localhost, that URL does not restrict the server's actual listening scope. If host firewall and network routing rules allow connections to port 8000, other systems can access the served directory. The server provides neither authentication nor TLS and may expose directory listings.

Attack Path

  1. A user follows the skill instructions and creates game content under /tmp/game-build.
  2. The user executes python -m http.server 8000.
  3. The server binds to all network interfaces on TCP port 8000.
  4. An attacker with network access to the host identifies the open port.
  5. The attacker requests the server root or guesses file names.
  6. The attacker lists or downloads files located within /tmp/game-build.

Exploitation depends on the host firewall, network configuration, and attacker reachability. No privilege escalation or code-execution path was established from the audited content.

Impact Assessment

A reachable attacker may obtain files within the served directory, potentially including generated game source, request.txt, progress notes, and other files accidentally stored there. The exposure is limited to content available beneath the configured document root and lasts while the preview server is running.

The attacker does not gain elevated operating-system privileges through this issue alone. The primary impact is unauthorized read access and loss o ...[truncated 78 chars]

Remediation
View remediation

Remediation Suggestions

Bind the preview server explicitly to the IPv4 loopback interface:

bash
cd /tmp/game-build
python -m http.server 8000 --bind 127.0.0.1

For IPv6-only local access, bind to ::1 where supported. In addition:

  1. Serve only a dedicated output directory containing files intended for preview.
  2. Do not store prompts, credentials, tokens, personal data, or development notes in the served directory.
  3. Confirm that firewall rules do not expose the preview port.
  4. Stop the server immediately after previewing.
  5. If remote preview is required, use an authenticated server with TLS and explicit access controls instead of Python's development server.
  6. Update all local-preview documentation and any future serving scripts to enforce loopback binding by default.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (6)

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest description says the skill should be used for 'UI设计、海报制作、品牌视觉', but the rest of the file documents a Three.js browser game generator that outputs a single HTML game and launches a local preview server. Those design/branding capabilities are not reflected anywhere in the skill behavior described in the file, creating a semantic mismatch about the tool's purpose.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill describes writing files and starting a local HTTP server, but it does not present a strong upfront warning or explicit consent gate before those side effects occur. In an agent environment with exec/write/browser capabilities, silent or poorly signaled side effects can surprise users, expose local generated content over localhost, and normalize command execution for routine requests.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The capability table states '资源托管 | 在线分享链接 | 24小时临时链接', yet elsewhere the file only describes creating local files and serving them with a local Python HTTP server. No corresponding hosting or upload workflow is documented, so the claimed behavior exceeds the described implementation.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The '不适用场景' section excludes '运维部署管理', while the later '触发条件' says '需要代码生成、编程辅助、调试测试、开发部署时使用'. This is an active contradiction in the file's own intent documentation about whether deployment is in scope.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger condition is broad enough to match generic development, debugging, and deployment requests, which can cause the agent to invoke this skill outside its intended domain. Because the skill includes file-writing and command execution behavior, overbroad activation increases the risk of unnecessary local side effects, unintended code generation, or launching local services in contexts where the user did not explicitly ask for them.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The file states that the current version only supports Chinese interaction, which imposes a language constraint on users. This is a natural-language policy concern because it forces a specific language rather than offering choice or requiring explicit opt-in.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.