Back to skill

Security audit

Geoskill: Urban Heat Analysis

Security checks across malware telemetry and agentic risk

Overview

This is mostly a local urban-heat-analysis skill with some reliability and disclosure gaps around an optional download workflow, but no evidence of malicious behavior.

Reasonable to install for local MODIS/LST GeoTIFF analysis. Treat the from-place command as experimental: it is underdocumented, appears broken, may invoke another local downloader skill, and may send place/date information through external geocoding or data-download services. Pin dependencies if reproducible or production use matters.

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

Intent-Code Divergence

High
Confidence
92% confidence
Finding
The from-place workflow is internally inconsistent: it passes lst=lst_files to cmd_analyze even though cmd_analyze expects a single file path, and it returns before the later fetch/processing branch, leaving dead code. In a security-sensitive automation context, this kind of broken control flow can cause operators to trust outputs that were never produced correctly, fail open, or skip expected processing and validation steps.

Unpinned Dependencies

Low
Category
Supply Chain
Content
numpy>=1.21.0
rasterio>=1.3.0
Confidence
96% confidence
Finding
The dependency specification for numpy is unpinned, allowing installation of different versions over time depending on resolver behavior and package index state. This weakens build reproducibility and can unintentionally introduce vulnerable or incompatible releases into the environment.

Unpinned Dependencies

Low
Category
Supply Chain
Content
numpy>=1.21.0
rasterio>=1.3.0
Confidence
96% confidence
Finding
The dependency specification for rasterio is unpinned, so future installations may resolve to unexpected versions with security fixes missing or new regressions introduced. This creates supply-chain and reproducibility risk even if no specific exploit is present in the current file.

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

Detected: suspicious.dynamic_code_execution

Dynamic code execution detected.

Critical
Code
suspicious.dynamic_code_execution
Location
scripts/urban-heat-analysis.py:715