Back to skill

Security audit

Geoskill: Water Quality Remote Sensing

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a normal satellite-raster analysis tool, with some dependency and documentation issues users should review before installing.

Before installing, review the unpinned Python dependencies and consider pinning vetted versions. If using any advertised bbox/AOI download workflow from a wrapper or future version, expect the geographic area and date range to be sent to Microsoft Planetary Computer and cached locally.

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 (5)

Missing User Warnings

Low
Confidence
88% confidence
Finding
The documentation explicitly states that the skill can automatically download data from Microsoft Planetary Computer, but it does not clearly warn users that running the command will initiate outbound network connections and transfer user-specified geographic query parameters to an external service. This can create privacy, compliance, or unexpected egress issues in restricted environments, even though the functionality appears aligned with the skill’s stated purpose rather than overtly malicious.

Unpinned Dependencies

Low
Category
Supply Chain
Content
geoskill-data-fetcher>=0.2.0

# Third-party dependencies used by this skill
numpy
rasterio
Confidence
95% confidence
Finding
The dependency on numpy is unpinned, which makes builds non-reproducible and allows future installs to resolve to unexpected or compromised versions. In a supply-chain context, this increases exposure to malicious package releases or breaking changes that could introduce exploitable behavior.

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Third-party dependencies used by this skill
numpy
rasterio
Confidence
95% confidence
Finding
The dependency on rasterio is unpinned, so installation may pull different versions over time without review. This creates supply-chain risk and can silently introduce vulnerable or incompatible releases into the skill environment.

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Requirements for water-quality-remote-sensing
# Shared data-download library (Planetary Computer / NASA POWER / OSM)
geoskill-data-fetcher>=0.2.0

# Third-party dependencies used by this skill
numpy
Confidence
98% confidence
Finding
Using geoskill-data-fetcher>=0.2.0 permits any newer version, including major behavioral changes or a compromised upstream release. Because this appears to be a shared data-download library that may interact with remote services, the broad version specifier raises supply-chain and trust-boundary risk beyond a purely local utility package.

Known Vulnerable Dependency: numpy — 10 advisory(ies): CVE-2014-1859 (Numpy arbitrary file write via symlink attack); CVE-2021-41495 (NumPy NULL Pointer Dereference); CVE-2021-33430 (NumPy Buffer Overflow (Disputed)) +7 more

Critical
Category
Supply Chain
Confidence
83% confidence
Finding
The requirements file references numpy without a version pin, and static analysis indicates multiple advisories affecting some numpy releases. Without a constrained safe version, installs may resolve to versions with known security issues, making this a real dependency risk even if exploitation depends on how numpy is used at runtime.

Static analysis

No suspicious patterns detected.