Back to skill

Security audit

ADS-B Overhead

Security checks across malware telemetry and agentic risk

Overview

This skill appears to do what it says: monitor a local aircraft feed, optionally enrich alerts, and send configured WhatsApp notifications.

Before installing, confirm the SBS host, home coordinates, radius, cooldown, photo setting, and WhatsApp target. Disable photo lookup if you do not want observed aircraft identifiers sent to Planespotters. Keep the config private because it can reveal your location and messaging target, and remove the cron entry or set enabled=false when you no longer want ongoing monitoring.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (6)

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill documentation instructs use of shell execution, network access to a local TCP service, and persistent file writes, yet no permissions are declared. That creates a transparency and policy-enforcement gap: an operator or platform may approve the skill believing it is low-privilege when it actually performs sensitive actions.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The documented purpose says the skill uses a local ADS-B feed, but the finding indicates additional undeclared HTTP enrichment, third-party API queries, image downloads, caching, and behavioral filtering logic. Hidden external communications and extra data handling materially expand the attack surface, create privacy and supply-chain risks, and can surprise users who expected a purely local checker.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The script reaches out to third-party internet services for aircraft-photo enrichment and generates external tracking links, which exceeds a purely local ADS-B monitoring function. This leaks observed ICAO identifiers and user activity to external parties and introduces privacy, dependency, and scope-expansion risk not required for the core alerting behavior.

Context-Inappropriate Capability

Medium
Confidence
90% confidence
Finding
The optional photo download feature causes the script to fetch and persist remote content to local disk even though image retrieval is not necessary for overhead detection. Downloading external files increases attack surface, creates privacy leakage to the image provider, and can consume storage or process untrusted content in downstream systems that use the saved files.

External Transmission

Medium
Category
Data Exfiltration
Content
h = hex_.strip().upper()
    if not h:
        return None
    url = f"https://api.planespotters.net/pub/photos/hex/{h}"
    try:
        data = fetch_json(url, timeout_s=timeout_s)
        return _planespotters_pick_photo_url_sized(data, size=size)
Confidence
95% confidence
Finding
https://api.planespotters.net/

Unvalidated Output Injection

High
Category
Output Handling
Content
else:
        cmd += ["--message", caption]

    p = subprocess.run(cmd, capture_output=True, text=True)
    if p.returncode != 0:
        raise RuntimeError(f"send failed ({p.returncode}): {p.stderr.strip() or p.stdout.strip()}")
Confidence
72% confidence
Finding
subprocess.run(cmd, capture_output

VirusTotal

66/66 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.install_untrusted_source

Install source points to URL shortener or raw IP.

Warn
Code
suspicious.install_untrusted_source
Location
config.example.json:21