Back to skill

Security audit

Geoskill: Building Footprint Height

Security checks across malware telemetry and agentic risk

Overview

This skill is a disclosed geospatial processing tool that reads elevation/building inputs, optionally downloads DEM data when requested, and writes analysis outputs locally.

Install only in an environment where outbound access to Microsoft Planetary Computer is acceptable if you plan to use bbox or AOI downloads. Pin and review dependencies for production use, especially fiona, numpy, rasterio, shapely, and geoskill-data-fetcher. Avoid using sensitive AOIs with the auto-download path unless that external query is allowed by your policy.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
Findings (14)

eval() call detected

High
Category
Dangerous Code Execution
Content
Returns exit code (0 = ok, 2 = arg error)."""
    # File existence
    for flag, accessor in FILE_ARGS.items():
        path = eval(accessor)  # safe: only string concat
        if path is None or path == "":
            continue
        if not Path(str(path)).exists():
Confidence
96% confidence
Finding
path = eval(accessor) # safe: only string concat

Description-Behavior Mismatch

Medium
Confidence
85% confidence
Finding
The skill description focuses on local extraction and estimation from DSM/DTM/LiDAR inputs, yet the requirements include a shared data-download library and comments referencing external sources. This creates a capability mismatch that can expand the attack surface through unnecessary network-enabled functionality, supply-chain exposure, and potential exfiltration paths not implied by the stated purpose.

Intent-Code Divergence

Low
Confidence
73% confidence
Finding
The comment advertises use of external data-download sources that are not reflected in the skill's stated local-processing purpose. While a comment alone is not executable, this discrepancy is a trust and transparency issue that can hide unexpected network behavior and make security review less effective.

Description-Behavior Mismatch

Medium
Confidence
88% confidence
Finding
The skill can automatically download DEM data from Microsoft Planetary Computer when bbox/AOI input is supplied, which introduces external data transfer and remote dependency behavior beyond a strictly local-processing workflow. In security-sensitive or air-gapped environments, this can cause unintended data disclosure of user AOIs and violate operator expectations or policy.

Context-Inappropriate Capability

Medium
Confidence
84% confidence
Finding
The embedded STAC/Microsoft Planetary Computer fetch capability creates a network egress path and trusts externally sourced content at runtime. While not direct code execution, it broadens the attack surface through remote service dependence, metadata handling, and unannounced transmission of geographic query parameters.

Missing User Warnings

Low
Confidence
79% confidence
Finding
The skill advertises automatic remote download from Microsoft Planetary Computer and caching under a local directory, but it does not provide an explicit warning that using --bbox or --aoi-file will trigger outbound network access and local filesystem writes. This can surprise users in restricted or privacy-sensitive environments, and may violate execution expectations or policy controls even if the download target appears legitimate.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
Automatic network download without a clear user-facing warning can leak AOI/bounding-box information and create unexpected external communication. In geospatial workflows, AOIs can themselves be sensitive, so silent egress increases operational and privacy risk even if the downloaded content is benign DEM data.

Unpinned Dependencies

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

# Third-party dependencies used by this skill
fiona
numpy
rasterio
shapely
Confidence
90% confidence
Finding
fiona

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Third-party dependencies used by this skill
fiona
numpy
rasterio
shapely
Confidence
90% confidence
Finding
numpy

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Third-party dependencies used by this skill
fiona
numpy
rasterio
shapely
Confidence
90% confidence
Finding
rasterio

Unpinned Dependencies

Low
Category
Supply Chain
Content
fiona
numpy
rasterio
shapely
Confidence
90% confidence
Finding
shapely

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Requirements for building-footprint-height
# Shared data-download library (Planetary Computer / NASA POWER / OSM)
geoskill-data-fetcher>=0.2.0

# Third-party dependencies used by this skill
fiona
Confidence
92% confidence
Finding
geoskill-data-fetcher>=0.2.0

Known Vulnerable Dependency: fiona — 2 advisory(ies): GHSA-g4m4-9q4c-mfw6 (Fiona affected by CVE-2020-14152 related to madler-zlib); GHSA-q5fm-55c2-v6j9 (Fiona affected by CVE-2023-45853 related to MiniZip madler-zlib)

Critical
Category
Supply Chain
Confidence
95% confidence
Finding
fiona

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
88% confidence
Finding
numpy

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/building_footprint_height.py:105