Back to skill

Security audit

Geoskill: Solar Energy Potential

Security checks across malware telemetry and agentic risk

Overview

The skill mostly does what it claims, but its location lookup behavior and dependency posture are under-disclosed enough that users should review it before installing.

Install only if you are comfortable sending coordinates to NASA POWER and, when using --place, potentially sending place names through additional geocoding resolver code. Prefer --lat/--lon for sensitive locations, review any _shared/place_resolver.py present in your environment, and constrain numpy/requests to current reviewed versions.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • 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 (12)

Lp3

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding
The skill documentation describes capabilities that read and write local files and make outbound network requests, but no permissions are declared in the skill metadata. This creates a transparency and policy-enforcement gap: users or hosting platforms may run the skill without realizing it can access CSV files, write outputs, and transmit location data to an external NASA service.

Description-Behavior Mismatch

Medium
Confidence
91% confidence
Finding
The skill description and privacy text present the tool as a NASA POWER calculator, but the assess command can also send user-provided place names to external geocoding services through _place.resolve_place(). That expands data flows beyond the stated scope and can disclose sensitive location intent or place queries to third parties without clear user awareness.

Description-Behavior Mismatch

Medium
Confidence
93% confidence
Finding
The economic command dynamically imports a shared place resolver from outside the immediate skill file, adding behavior not obvious from the primary skill description. This increases the attack surface and makes data handling less transparent, especially because place lookups may involve extra network requests and trust in externally maintained helper code.

Intent-Code Divergence

High
Confidence
98% confidence
Finding
The top-level privacy disclosure states that only latitude/longitude coordinates are sent to NASA POWER and that no other data is transmitted, but the code supports --place resolution via additional services. This is a material privacy misrepresentation that can cause users to disclose sensitive locations under false assumptions about who receives their data.

Intent-Code Divergence

High
Confidence
97% confidence
Finding
The CLI help repeats the claim that only NASA POWER receives location data, even though --place can trigger requests to geocoding providers. Misleading privacy messaging at the point of use is dangerous because users rely on CLI help to decide whether a command is safe for confidential or sensitive locations.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The README states that NASA POWER is the data source but does not warn users that their supplied latitude/longitude will be transmitted to an external API. Location data can be sensitive, and omission of this disclosure may cause users to share precise sites without understanding the privacy implications or network dependency.

Missing User Warnings

Low
Confidence
83% confidence
Finding
The skill uses an external API but does not clearly disclose that user-supplied latitude/longitude and possibly batch CSV location data will be transmitted off-system. This is a privacy and consent issue, especially in enterprise or regulated contexts where geolocation data may be sensitive.

Missing User Warnings

Low
Confidence
72% confidence
Finding
The documentation describes calling an external NASA API with latitude and longitude data but does not clearly warn users that location information will be transmitted to a third-party service. While the data is not highly sensitive in many cases, coordinates can reveal private or operationally sensitive locations, so the omission weakens informed consent and privacy awareness.

Unpinned Dependencies

Low
Category
Supply Chain
Content
numpy>=1.21.0
requests>=2.28.0
Confidence
95% confidence
Finding
numpy>=1.21.0

Unpinned Dependencies

Low
Category
Supply Chain
Content
numpy>=1.21.0
requests>=2.28.0
Confidence
98% confidence
Finding
requests>=2.28.0

Known Vulnerable Dependency: numpy==1.21.0 — 1 advisory(ies): CVE-2021-34141 (Incorrect Comparison in NumPy)

Low
Category
Supply Chain
Confidence
76% confidence
Finding
numpy==1.21.0

Known Vulnerable Dependency: requests==2.28.0 — 8 advisory(ies): CVE-2024-47081 (Requests vulnerable to .netrc credentials leak via malicious URLs); CVE-2024-35195 (Requests `Session` object does not verify requests after making first request wi); CVE-2026-25645 (Requests has Insecure Temp File Reuse in its extract_zipped_paths() utility func) +5 more

High
Category
Supply Chain
Confidence
99% confidence
Finding
requests==2.28.0

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.