Back to skill

Security audit

Urban Sports Club Booking API

Security checks across malware telemetry and agentic risk

Overview

This skill openly automates Urban Sports Club class scanning plus user-invoked booking and cancellation, with the main risks being local password storage and live account changes when those commands are run.

Install only if you are comfortable letting this local script use your Urban Sports Club credentials for the commands you run. Keep credentials.json private, avoid committing or sharing it, and double-check class IDs before using --book or --cancel because those commands act on your live account.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Intent-Code Divergence

Medium
Confidence
89% confidence
Finding
The module presents itself only as a scanner, but the same file also implements authenticated account actions that can book and cancel classes. This mismatch is dangerous because users or higher-level agents may grant the skill more trust or autonomy than intended, leading to unintended side effects on a real account.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The documentation exposes booking and cancellation commands that change the user's Urban Sports Club account state, but it does not clearly warn that these are state-changing actions with real-world consequences. In an agent or automation context, this increases the risk of unintended bookings, cancellations, missed classes, or account friction because a user may treat the commands as informational rather than transactional.

Credential Access

High
Category
Privilege Escalation
Content
creds_path = Path(__file__).parent / "credentials.json"
    if not creds_path.exists():
        print("Fehler: credentials.json nicht gefunden.", file=sys.stderr)
        print("Kopiere credentials.example.json -> credentials.json und trage deine Daten ein.", file=sys.stderr)
        return None

    with open(creds_path) as f:
Confidence
78% confidence
Finding
credentials.json

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.