Back to skill

Security audit

Geoskill: Building Change Audit

Security checks across malware telemetry and agentic risk

Overview

This building-change audit skill is mostly coherent, but its auto-download mode can ignore dates and fall back to synthetic data, which can make audit results misleading unless users provide real before/after files.

Install only if you are comfortable reviewing generated provenance. For real audits, provide your own trusted before/after building files and avoid relying on bbox/date-range auto-download results unless the output manifest clearly shows real downloaded inputs rather than synthetic mode. Pin and scan dependencies before use in sensitive environments.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (15)

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill documents capabilities that involve network access and writing files, but it declares no permissions. This creates a transparency and policy-enforcement problem: users or orchestration systems may invoke it assuming a lower-trust profile than it actually requires, increasing the chance of unexpected outbound requests or artifact creation.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The documented behavior materially exceeds and contradicts the stated purpose: it performs remote downloads, synthetic fallback generation, and reporting side effects, while also claiming split/merge detection that the implementation reportedly cannot support. This is dangerous because operators may rely on incorrect assumptions about data provenance and analytic validity, producing false audit conclusions or approving automated behavior they did not intend.

Description-Behavior Mismatch

High
Confidence
97% confidence
Finding
The skill claims to perform temporal change detection but its documented auto-download mode does not actually obtain two real temporal datasets and may fall back to synthetic data. In a building-change auditing context, this can silently generate misleading outputs that appear authoritative, undermining any downstream operational, compliance, or intelligence decisions based on the report.

Intent-Code Divergence

High
Confidence
98% confidence
Finding
The documentation first suggests automatic acquisition of before/after snapshots, then admits the source is typically a single static dataset and not true temporal evidence. This contradiction is especially risky in an audit skill because users may trust the workflow to establish real-world changes when it cannot, leading to false positives, false negatives, or fabricated-seeming audit trails.

Context-Inappropriate Capability

Medium
Confidence
92% confidence
Finding
This skill is described as a local building-footprint change audit, yet it depends on a shared data-download library associated with external sources such as Planetary Computer, NASA POWER, and OSM. That expands the attack surface unnecessarily by introducing network/data-ingestion capabilities and transitive dependencies that are not justified by the stated function, which can enable supply-chain risk or unexpected external access paths.

Description-Behavior Mismatch

Medium
Confidence
89% confidence
Finding
The script’s behavior materially exceeds the advertised two-input audit model by performing network-backed data acquisition and silently falling back to synthetic data. This can mislead users and downstream agents about data provenance, cause unintended external access, and produce fabricated results that may be mistaken for real analysis output.

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
The docstring and interface imply temporal before/after selection, but the implementation explicitly ignores the user-provided date range and queries a time-invariant dataset. This creates a deceptive mismatch between claimed and actual behavior, enabling false change-detection results and undermining trust in the audit output.

Unpinned Dependencies

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

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

Unpinned Dependencies

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

Unpinned Dependencies

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

Unpinned Dependencies

Low
Category
Supply Chain
Content
fiona
numpy
scipy
shapely
Confidence
97% confidence
Finding
shapely

Unpinned Dependencies

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

# Third-party dependencies used by this skill
fiona
Confidence
98% 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
90% 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
86% 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
84% confidence
Finding
scipy

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.