Back to skill

Security audit

Amap Map

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward Amap/Gaode map lookup skill that uses the expected external map API and local API-key configuration, with no evidence of hidden execution, exfiltration to unrelated services, or destructive behavior.

Install only if you are comfortable sending map searches, addresses, coordinates, route endpoints, and your Amap API key to Amap's web service. Avoid using sensitive home or private locations unless that external lookup is intended, and expect a small local .usage.json file with aggregate call counts.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (7)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill invokes a Python script that uses network access, reads configuration for an API key, and writes usage statistics, but the manifest does not declare any tool scope or permissions. This weakens reviewability and containment because an operator or agent cannot easily see that user location/address data may be sent externally and that local files are accessed and modified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill description does not warn that addresses, coordinates, and search queries are sent to the Gaode/Amap external service. This creates a privacy and consent issue because users may provide sensitive location data without realizing it will leave the local system.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The trigger conditions are broad enough to match normal map or location-related conversation, which can cause the skill to activate without a clear user request for external API use. In this context, unintended activation matters because the skill handles sensitive location/address queries and transmits them to a third-party service.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

A map API skill is expected to call the remote Amap service, but the manifest does not mention reading arbitrary local configuration from ~/.openclaw/openclaw.json. Accessing a home-directory config file expands the skill's reach into local user files beyond what is necessary if credentials are passed through declared configuration or environment variables.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

This code sends request parameters to the external Amap web API, and those parameters can include addresses, coordinates, destinations, and search keywords derived from user input. While the function has an internal docstring, there is no user-facing warning in the CLI help or runtime output that user-provided location data will be transmitted to a third-party service.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The manifest describes map operations such as search, POI lookup, routing, and geocoding via the amap script. In addition to those functions, the code creates and updates a local .usage.json file and implements a --usage mode that reports historical call statistics, which is extra behavior not mentioned in the skill description.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
83% confidence
Finding

The user-facing usage/help content is entirely in Chinese, and the script's visible messages are also Chinese-only. This can constitute a language/locale policy issue when the skill does not offer a language choice or document that it is intentionally limited to Chinese-speaking users.

Content

No source excerpt is available for this finding.