Back to skill

Security audit

London public transport journey planner and disruptions

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently helps plan TfL journeys and check disruptions using TfL's API, with no hidden persistence, destructive behavior, or unrelated data access found.

Install only if you want an agent to plan TfL routes through TfL's public API. Treat route origins, destinations, dates, and times as travel data that will be sent to TfL, and only expose TFL_APP_ID/TFL_APP_KEY in environments where that is intentional.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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
Findings (1)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding

The skill instructs use of a Python helper that can access the network and consume environment-provided TfL API credentials, but the manifest declares no explicit tool scope or permission boundaries. That creates an authorization gap where an agent may invoke networked code and read sensitive environment variables without clear least-privilege constraints or reviewer visibility.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.