Back to skill

Security audit

Minecraft Monitor

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward Minecraft server status checker, with limited risks from trusting responses from the server being checked.

Reasonable to install for manual Minecraft server checks. Use caution when pointing it at untrusted servers, especially in automated monitoring, because a hostile endpoint could hang or exhaust the checker process or print misleading terminal output.

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 (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/minecraft-status.py:31
Finding

Unbounded parsing of attacker-controlled protocol response lengths

Content
View full analysis
Remediation
View remediation
MAX_RESPONSE_SIZE: raise ValueError("Invalid response length") chunks = [] remaining = size while remaining: chunk = sock.recv(min(remaining, 65536)) if not chunk: raise IOError("Connection closed before response completed") chunks.append(chunk) remaining -= len(chunk) return b"".join(chunks) ``` ]]>

T09 · Insecure Skill Coding Practices

Note
Location
scripts/minecraft-status.py:121
Finding

Terminal control-sequence injection through remote server metadata

Content
View full analysis
5 else "")) if 'motd' in status and status['motd']: motd = status['motd'].strip() if motd: print(f" MOTD: {motd[:80]}{'...' if len(motd) > 80 else ''}") ``` ### Technical Analysis Player names and MOTD content are received from an untrusted remote server and printed directly to the user's terminal. Limiting the MOTD to 80 Python characters does not neutralize embedded ANSI escape sequences, carriage returns, backspaces, newlines, or other terminal control characters. A malicious server can use these characters to alter colors, move the cursor, clear previous output, overwrite status text, create deceptive terminal content, or corrupt logs that consume the command output. The precise effects depend on the terminal emulator and downstream log viewer. The same issue applies to sampled player names, which are joined and printed without normalization or type and character validation. ### Attack ...[truncated 1163 chars]
Remediation
View remediation
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.