Back to skill

Security audit

game-developer

Security checks for vulnerabilities and agentic risk

Overview

This is a Markdown-only game development helper with one insecure multiplayer code example users should treat as illustrative, not production-ready.

Safe to install as a game-development reference skill, but review generated multiplayer/networking code before using it in production, especially movement synchronization and server-authoritative validation.

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
references/examples.md:460
Finding

Client-Authoritative Movement Allows Position and Rotation Forgery

Content
View full analysis

Vulnerability Details

File Location: references/examples.md, lines 460-464
Vulnerability Type: Unvalidated client-controlled network state
Risk Level: Medium

Vulnerable Code

csharp
[ServerRpc]
private void UpdateNetworkPositionServerRpc(Vector3 position, Quaternion rotation)
{
    networkPosition.Value = position;
    networkRotation.Value = rotation;
}

Technical Analysis

The server RPC accepts a position and rotation supplied by the owning client and writes those values directly into replicated network state. It performs no validation of:

  • Maximum displacement or movement speed
  • Time elapsed between updates
  • Collision and path legality
  • World boundaries
  • Current movement state
  • Teleport authorization
  • RPC submission rate

A modified client can therefore submit arbitrary transform values. Because the server treats these values as authoritative and replicates them, this pattern undermines the client-server authoritative model recommended by the Skill itself.

Attack Path

  1. An attacker joins a multiplayer session using a client they control.
  2. The attacker modifies or hooks the client to invoke UpdateNetworkPositionServerRpc with forged coordinates or rotations.
  3. The server accepts the values without checking whether the movement is physically or logically possible.
  4. The server assigns the forged transform to networkPosition and networkRotation.
  5. The invalid state is replicated to other clients, allowing the attacker to teleport, cross barriers, or reach restricted locations.

Impact Assessment

Exploitation does not grant operating-system privileges, but it can compromise multiplayer game integrity within the affected session. An attacker may:

  • Teleport across the map
  • Move through geometry or restricted areas
  • Evade combat or positional checks
  • Reach objectives or resources illegitimately
  • Gain an unfair competitive advantage
  • Cause forged movement state to be displayed to other clients

...[truncated 125 chars]

Remediation
View remediation

Remediation Suggestions

Adopt server-authoritative movement rather than accepting final transforms from clients:

  1. Send bounded input commands, such as movement direction, jump, and dash requests, instead of absolute coordinates.
  2. Simulate movement and collision on the server.
  3. Verify RPC sender ownership and authorization.
  4. Validate displacement against elapsed time, maximum speed, acceleration, and permitted movement abilities.
  5. Reject movement crossing blocked geometry or leaving configured world boundaries.
  6. Permit teleportation only through explicit, server-approved gameplay actions.
  7. Rate-limit movement RPCs and reject stale, duplicate, or excessively frequent updates.
  8. Correct invalid client state using authoritative server snapshots.
  9. Log repeated validation failures and apply suitable anti-cheat responses.
  10. Add automated tests covering forged coordinates, excessive velocity, wall traversal, out-of-bounds movement, and RPC flooding.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.