Back to skill

Security audit

Geoskill: Crop Yield Estimation

Security checks across malware telemetry and agentic risk

Overview

The skill is not obviously harmful, but it presents itself as a real crop-yield estimator while the implementation generates synthetic agronomic features and can produce authoritative-looking outputs.

Review this skill carefully before installing or using it for real agricultural, insurance, policy, or business decisions. Its outputs should be treated as demo or prototype results unless the publisher replaces the synthetic feature generation with real data ingestion and clearly documents provenance. If installed, run it only on non-sensitive sample data and in an isolated environment with pinned dependencies.

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
85% confidence
Finding
The skill documentation advertises file read/write behavior but declares no permissions, which weakens transparency and any permission-gating a host platform may rely on. In a skill that also logs requests, manifests, and outputs to disk, undeclared filesystem access can expose local data or overwrite files unexpectedly if the runtime trusts metadata for policy decisions.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding
This is a substantive trust-boundary mismatch: the skill claims to perform real multi-source crop-yield estimation, but the documented behavior indicates synthetic placeholder features and AOI parameters that may not actually drive feature extraction. Users could make agricultural, operational, or policy decisions based on fabricated or misleading outputs, especially because the tool also produces polished raster/GeoJSON artifacts and uncertainty-style deliverables that imply legitimacy.

Intent-Code Divergence

Medium
Confidence
88% confidence
Finding
Marking `--yield-labels` as required while also silently falling back to synthetic labels creates a dangerous ambiguity about whether outputs are based on real data. In this domain, that can mislead users into trusting synthetic yield estimates as if they were grounded in supplied observations, especially when outputs and logs look production-like.

Description-Behavior Mismatch

High
Confidence
99% confidence
Finding
The advertised estimator claims to derive yield from remote sensing, weather, soil, and samples, but the feature pipeline fabricates inputs using pseudorandom values seeded only from the sample ID. This can produce authoritative-looking outputs, validation metrics, rasters, and model cards that are not based on real agronomic evidence, creating a serious integrity and decision-support risk.

Intent-Code Divergence

Medium
Confidence
92% confidence
Finding
The privacy disclosure is not the main issue; the dangerous part is that the header and description present the tool as a real local estimator while the implementation generates fabricated features. That mismatch can mislead users into trusting outputs for agricultural planning, audits, or policy decisions under false assumptions about provenance and analytical validity.

Missing User Warnings

Low
Confidence
81% confidence
Finding
Automatic remote downloads and detailed request/output manifests introduce privacy and operational risks if users are not clearly warned that network access will occur and metadata such as bbox, date range, source collection, and timestamps will be recorded. In geospatial workflows, these fields can reveal sensitive project locations, study targets, or analysis timing even without credentials.

Unpinned Dependencies

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

# Third-party dependencies used by this skill
numpy
rasterio
scikit-learn
scipy
Confidence
94% confidence
Finding
numpy

Unpinned Dependencies

Low
Category
Supply Chain
Content
# Third-party dependencies used by this skill
numpy
rasterio
scikit-learn
scipy
shapely
Confidence
94% confidence
Finding
rasterio

Unpinned Dependencies

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

Unpinned Dependencies

Low
Category
Supply Chain
Content
numpy
rasterio
scikit-learn
scipy
shapely
Confidence
94% confidence
Finding
scipy

Unpinned Dependencies

Low
Category
Supply Chain
Content
rasterio
scikit-learn
scipy
shapely
Confidence
93% confidence
Finding
shapely

Unpinned Dependencies

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

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

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.