Back to skill

Security audit

Geoskill: LiDAR Point Cloud Analysis

Security checks across malware telemetry and agentic risk

Overview

This is a coherent local LiDAR analysis skill, with dependency and output-overwrite cautions but no hidden network use, persistence, or destructive behavior found.

Install this in a project or virtual environment, pin and scan the Python dependencies if reproducibility matters, and run it with a fresh output directory because it writes standard filenames such as dem.tif, dsm.tif, qa.json, and manifests.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

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 not None and not Path(path).exists():
            print(f"ERROR: --{flag} not found: {path}", file=sys.stderr)
            return 2
Confidence
92% confidence
Finding
path = eval(accessor) # safe: only string concat

Description-Behavior Mismatch

Medium
Confidence
85% confidence
Finding
The skill is described as local LiDAR point-cloud analysis, but it includes a shared data-download library tied to external sources. That mismatch expands the attack surface by introducing network/data-fetching capability that is not clearly justified by the stated purpose, increasing the risk of unintended outbound access, remote content ingestion, or supply-chain abuse.

Context-Inappropriate Capability

Medium
Confidence
87% confidence
Finding
A dependency set that enables remote data fetching is inconsistent with a narrowly described LiDAR analysis skill and creates hidden capability beyond user expectations. In skill ecosystems, such capability can be abused to exfiltrate metadata, retrieve malicious inputs, or broaden trust boundaries without clear operator awareness.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The script creates the output directory and writes fixed filenames such as dem.tif, dsm.tif, qa.json, and manifests without checking for preexisting files. In shared or sensitive directories this can silently overwrite prior results or user data, causing integrity loss and possible destruction of important artifacts.

Unpinned Dependencies

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

# Third-party dependencies used by this skill
laspy
numpy
rasterio
scipy
Confidence
91% confidence
Finding
laspy

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Third-party dependencies used by this skill
laspy
numpy
rasterio
scipy
Confidence
95% confidence
Finding
numpy

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Third-party dependencies used by this skill
laspy
numpy
rasterio
scipy
Confidence
91% confidence
Finding
rasterio

Unpinned Dependencies

Low
Category
Supply Chain
Content
laspy
numpy
rasterio
scipy
Confidence
95% confidence
Finding
scipy

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Requirements for lidar-point-cloud-analysis
# Shared data-download library (Planetary Computer / NASA POWER / OSM)
geoskill-data-fetcher>=0.2.0

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

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

Known Vulnerable Dependency: scipy — 4 advisory(ies): CVE-2013-4251 (SciPy creates insecure temporary directories); CVE-2013-4251 (The scipy.weave component in SciPy before 0.12.1 creates insecure temporary dire); CVE-2023-25399 (A refcounting issue which leads to potential memory leak was discovered in scipy) +1 more

High
Category
Supply Chain
Confidence
90% confidence
Finding
scipy

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/lidar_point_cloud_analysis.py:1412