Back to skill

Security audit

Arrivelah

Security checks for vulnerabilities and agentic risk

Overview

This skill transparently fetches Singapore bus arrival times from a public API using a local stop/service configuration.

Before installing, confirm you are comfortable with a configured bus stop and service being sent to the Arrivelah2 API when invoked. Consider changing the trigger or invoking it only when your intent is explicit if accidental activation would bother you.

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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (2)

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill advertises shell-capable dependencies (`curl`, `jq`) but does not declare any explicit tool scope such as `permissions` or `allowed-tools`. That creates an overbroad execution surface where an agent may invoke shell functionality without a clearly constrained policy, increasing the chance of unintended command execution or misuse if the skill implementation evolves or is paired with untrusted input.

Vague Triggers

Medium
Confidence
96% confidence
Finding
A single-word trigger like `bus` is overly generic and likely to appear in normal conversation, making accidental invocation more likely. In an agent environment, that can cause unintended API calls or shell-backed skill execution in contexts where the user was not actually requesting the skill, which is especially relevant here because the skill is designed to fetch live data and appears to rely on command-line tooling.

Static analysis

No suspicious patterns detected.