Back to skill

Security audit

planesnitch

Security checks for vulnerabilities and agentic risk

Overview

The skill is coherent and openly documented, but its setup runs an unpinned Docker image that will handle location data, Telegram tokens, webhook credentials, and outbound alerts.

Review and pin the Docker image to a specific trusted version or digest before installing. Keep `config.yaml` private, mount it read-only, use only Telegram chats and webhook endpoints you control or trust, and remember that configured locations plus matched aircraft data leave your host during polling and alerts.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (6)

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The example uses a Docker image name without a fixed tag or immutable digest, so users will pull whatever image is currently published as the default tag at execution time. This creates a supply-chain risk: a compromised publisher account, malicious retagging, or unexpected upstream changes could cause users to run different code than intended.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

This second docker run example repeats the use of an unpinned container image, again allowing the pulled code to change over time without review. In this skill, that is especially relevant because the container reads local config secrets and performs outbound network communication, increasing the consequences of a poisoned image.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The setup instructions run the container image psyb0t/planesnitch without a pinned tag or immutable digest, so users will pull whatever image is current at execution time. That creates a supply-chain risk: a compromised registry account, malicious image update, or unexpected breaking change could silently alter the code users execute.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

This docker run example also uses an unpinned image reference, which means users cannot verify they are running the reviewed build. In a security-sensitive monitoring tool that handles tokens, webhook URLs, and outbound network access, drifting to an unreviewed image materially increases supply-chain exposure.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
98% confidence
Finding

The full setup example again pulls psyb0t/planesnitch without version pinning, extending the same supply-chain risk to the most feature-complete deployment path. Because this mode mounts configuration, CSVs, and a writable image cache, a malicious or replaced image would have access to operational data and notification credentials.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · references/setup.md (reported line 296)May include surrounding context.

md
## Telegram Bot Setup

1. Message [@BotFather](https://t.me/BotFather), send `/newbot`, get a token — that's `bot_token`.
2. **Personal alerts:** send your bot a message first, then check `https://api.telegram.org/bot<TOKEN>/getUpdates` — your `chat_id` is in there.
3. **Channel alerts:** add the bot as admin on the channel, post something, then check `getUpdates` for the channel ID (starts with `-100`).

Multiple Telegram notification targets can use the same `bot_token` with different `chat_id`s to route different alerts to different chats/channels.

Static analysis

No suspicious patterns detected.