Back to skill

Security audit

Score

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed local game/activity logger with some product-quality issues, not evidence of malicious or high-risk behavior.

Install only if you want a simple local plaintext logger for game scores and activity. Do not record secrets or sensitive personal details, and be aware exports can gather all saved entries. Expect limited analytics: it mostly records and retrieves text rather than computing real brackets or player statistics.

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
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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 (7)

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The description suggests a purpose-built game score and statistics tool that records results and computes or manages brackets, rankings, leaderboards, history, and stats. The code is instead a generic local note/logging utility with gaming-themed command names. Each command mostly just stores free-form input lines in per-command .log files and echoes recent entries. The only analytics are simple line counts, search, recent activity, export, and storage status. There is no implementation of bracket management, player-stat calculations, ranking algorithms, leaderboard computation, or structured game-result handling. In addition, the code exposes several capabilities not declared in the description, such as export, search, storage status, and miscellaneous commands like roll/create/join/reward/reset. Therefore the declared description does not accurately represent the actual behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The skill description uses very broad activation cues such as tracking scores, rankings, history, and computing stats, which can cause over-invocation and lead users or agents to send arbitrary content into a persistent local logger. In an agent setting, vague trigger boundaries increase the chance of unintended data capture and retention, especially when the tool stores and exports free-form text.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documentation explicitly describes persistent local logging and export of accumulated records but does not prominently warn that user-provided content is stored in plaintext and can later be searched or exported wholesale. This creates a real privacy and data-handling risk because agents may log sensitive names, notes, or gameplay-related metadata without users understanding the retention and disclosure implications.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
82% confidence
Finding

The skill intentionally persists session data across time by appending free-form entries to per-command logs and maintaining a history log. In context this is core functionality, but it is still a security-relevant issue because persistent storage of arbitrary text broadens the blast radius of accidental sensitive-data capture and makes later retrieval/export possible.

Content

Scanner excerpt · SKILL.md (reported line 64)May include surrounding context.

md
1. **Tracking game scores** — Use `score score "Player1 25pts"` to log scores during a game night or tournament
2. **Running leaderboards** — Use `score leaderboard "Player1 #1"` to maintain standings, then `score export csv` for spreadsheets
3. **Dice rolling & randomness** — Log dice results with `score roll "d20: 17"` for tabletop RPG sessions
4. **Challenge tracking** — Create and track challenges between players with `score challenge "speed run level 3"`
5. **Data analysis & export** — Use `score stats` for summary counts, `score search` to find specific entries, and `score export json` for programmatic analysis

## Examples

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The manifest describes a focused game-scoring skill for recording results, ranking leaderboards, reviewing history, and computing stats. In code, many exposed commands such as challenge, create, join, reward, and reset merely append arbitrary user input to separate log files, without any game-specific scoring, bracket handling, or player-statistics logic; this makes the behavior much broader and less purpose-bound than the manifest suggests.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The help output documents 'stats' as 'Summary statistics', which implies an analytical/readout command. However, the first matching case arm for 'stats' at L183-L197 treats it like a write operation, appending arbitrary input to stats.log, while the actual summary function is only referenced later in a duplicate unreachable 'stats' branch at L303.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The script persistently writes arbitrary user-supplied input into log files under the user’s home directory without any clear notice, consent flow, retention limit, or sanitization. In this skill context, users may enter player names, match details, rankings, or other personal or sensitive data, which can be unintentionally retained, surfaced later via export/search/status, and disclosed to other local users or backup/sync systems.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.