Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Google Maps

Google Maps integration for OpenClaw with Routes API. Use for: (1) Distance/travel time calculations with traffic prediction, (2) Turn-by-turn directions, (3...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
4 · 3.1k · 20 current installs · 20 all-time installs
byshaharsh@Shaharsha
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, the declared env var (GOOGLE_API_KEY), the documented APIs (Routes, Places, Geocoding) and the included Python code all align. The functionality (distance, directions, matrix, geocoding, places) matches the code and required APIs; there are no unrelated credentials or tools requested.
Instruction Scope
SKILL.md instructs running the included Python script and to set GOOGLE_API_KEY (and optional GOOGLE_MAPS_LANG). The instructions reference running python3 against lib/map_helper.py (and once reference a longer path 'skills/google-maps/lib/map_helper.py') — a minor path inconsistency but not security-critical. I inspected the start of map_helper.py; it performs only API calls to Google endpoints and local processing. I saw no instructions to read arbitrary host files, other env vars, or to exfiltrate data to unknown endpoints.
Install Mechanism
Registry metadata lists this as instruction-only (no formal install spec), but SKILL.md metadata includes an install entry to 'pip install requests'. The code imports requests, so that is reasonable. This is low-risk (standard PyPI dependency) but you should ensure requests is available in your runtime or install it from your trusted package manager rather than running arbitrary install commands from an untrusted source.
Credentials
Only GOOGLE_API_KEY (primary) and an optional fallback GOOGLE_MAPS_API_KEY plus GOOGLE_MAPS_LANG are referenced. These are appropriate and expected for a Maps integration. No unrelated secrets (AWS, GitHub tokens, etc.) are requested.
Persistence & Privilege
The skill is not marked always:true and does not request elevated or persistent platform privileges. It uses allowed-tools: exec to run the Python helper (expected). It does not modify other skills or system-wide configs in the files I saw.
Assessment
This skill looks coherent and limited to Google Maps functionality, but before installing: (1) Only provide a Google Maps API key with the minimal enabled APIs (Routes, Places, Geocoding) and quota/billing limits you accept. (2) Install the requests package from your trusted environment (do not run arbitrary pip commands supplied by unknown parties). (3) Review or run the included lib/map_helper.py in a sandbox if you want to audit behavior fully (the file is straightforward and calls official Google endpoints). (4) Note the skill can execute the helper via exec — only enable the skill for agents you trust. If you need higher assurance, ask the author for a full file review or a signed release/source repository.

Like a lobster shell, security has layers — review code before you run it.

Current versionv3.1.2
Download zip
directionsvk976sbr00t9ra07bwmfy4jseed80gdncdistancevk976sbr00t9ra07bwmfy4jseed80gdncgooglevk976sbr00t9ra07bwmfy4jseed80gdnclatestvk971m0tzk837wzqb4v2y9kr0zd815sjdlocationvk976sbr00t9ra07bwmfy4jseed80gdncmapsvk976sbr00t9ra07bwmfy4jseed80gdncnavigationvk976sbr00t9ra07bwmfy4jseed80gdncplacesvk976sbr00t9ra07bwmfy4jseed80gdncsearchvk976sbr00t9ra07bwmfy4jseed80gdnc

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🗺️ Clawdis
EnvGOOGLE_API_KEY
Primary envGOOGLE_API_KEY

SKILL.md

Google Maps 🗺️

Google Maps integration powered by the Routes API.

Requirements

  • GOOGLE_API_KEY environment variable
  • Enable in Google Cloud Console: Routes API, Places API, Geocoding API

Configuration

Env VariableDefaultDescription
GOOGLE_API_KEY-Required. Your Google Maps API key
GOOGLE_MAPS_API_KEY-Alternative to GOOGLE_API_KEY (fallback)
GOOGLE_MAPS_LANGenResponse language (en, he, ja, etc.)

Set in OpenClaw config:

{
  "env": {
    "GOOGLE_API_KEY": "AIza...",
    "GOOGLE_MAPS_LANG": "en"
  }
}

Script Location

python3 skills/google-maps/lib/map_helper.py <action> [options]

Actions

distance - Calculate travel time

python3 lib/map_helper.py distance "origin" "destination" [options]

Options:

OptionValuesDescription
--modedriving, walking, bicycling, transitTravel mode (default: driving)
--departnow, +30m, +1h, 14:00, 2026-02-07 08:00Departure time
--arrive14:00Arrival time (transit only)
--trafficbest_guess, pessimistic, optimisticTraffic model
--avoidtolls, highways, ferriesComma-separated

Examples:

python3 lib/map_helper.py distance "New York" "Boston"
python3 lib/map_helper.py distance "Los Angeles" "San Francisco" --depart="+1h"
python3 lib/map_helper.py distance "Chicago" "Detroit" --depart="08:00" --traffic=pessimistic
python3 lib/map_helper.py distance "London" "Manchester" --mode=transit --arrive="09:00"
python3 lib/map_helper.py distance "Paris" "Lyon" --avoid=tolls,highways

Response:

{
  "distance": "215.2 mi",
  "distance_meters": 346300,
  "duration": "3 hrs 45 mins",
  "duration_seconds": 13500,
  "static_duration": "3 hrs 30 mins",
  "duration_in_traffic": "3 hrs 45 mins"
}

directions - Turn-by-turn route

python3 lib/map_helper.py directions "origin" "destination" [options]

Additional options (beyond distance):

OptionDescription
--alternativesReturn multiple routes
--waypointsIntermediate stops (pipe-separated)
--optimizeOptimize waypoint order (TSP)

Examples:

python3 lib/map_helper.py directions "New York" "Washington DC"
python3 lib/map_helper.py directions "San Francisco" "Los Angeles" --alternatives
python3 lib/map_helper.py directions "Miami" "Orlando" --waypoints="Fort Lauderdale|West Palm Beach" --optimize

Response includes: summary, labels, duration, static_duration, warnings, steps[], optimized_waypoint_order


matrix - Distance matrix

Calculate distances between multiple origins and destinations:

python3 lib/map_helper.py matrix "orig1|orig2" "dest1|dest2"

Example:

python3 lib/map_helper.py matrix "New York|Boston" "Philadelphia|Washington DC"

Response:

{
  "origins": ["New York", "Boston"],
  "destinations": ["Philadelphia", "Washington DC"],
  "results": [
    {"origin_index": 0, "destination_index": 0, "distance": "97 mi", "duration": "1 hr 45 mins"},
    {"origin_index": 0, "destination_index": 1, "distance": "225 mi", "duration": "4 hrs 10 mins"}
  ]
}

geocode - Address to coordinates

python3 lib/map_helper.py geocode "1600 Amphitheatre Parkway, Mountain View, CA"
python3 lib/map_helper.py geocode "10 Downing Street, London"

reverse - Coordinates to address

python3 lib/map_helper.py reverse 40.7128 -74.0060  # New York City
python3 lib/map_helper.py reverse 51.5074 -0.1278  # London

search - Find places

python3 lib/map_helper.py search "coffee near Times Square"
python3 lib/map_helper.py search "pharmacy in San Francisco" --open

details - Place information

python3 lib/map_helper.py details "<place_id>"

Traffic Models

ModelUse Case
best_guessDefault balanced estimate
pessimisticImportant meetings (worst-case)
optimisticBest-case scenario

Regional Notes

Some features may not be available in all countries:

FeatureAvailability
--fuel-efficientUS, EU, select countries
--shorterLimited availability
--mode=two_wheelerAsia, select countries

Check Google Maps coverage for details.


Multilingual Support

Works with addresses in any language:

# Hebrew
python3 lib/map_helper.py distance "תל אביב" "ירושלים"
python3 lib/map_helper.py geocode "דיזנגוף 50, תל אביב"

# Japanese
python3 lib/map_helper.py distance "東京" "大阪"

# Arabic
python3 lib/map_helper.py distance "دبي" "أبو ظبي"

Language configuration:

  1. Set default via env: GOOGLE_MAPS_LANG=he (persists)
  2. Override per-request: --lang=ja
# Set Hebrew as default in OpenClaw config
GOOGLE_MAPS_LANG=he

# Override for specific request
python3 lib/map_helper.py distance "Tokyo" "Osaka" --lang=ja

Help

python3 lib/map_helper.py help

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…