Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
amap-lbs-skill
v1.0.2高德地图综合服务,支持POI搜索、路径规划、旅游规划、周边搜索和热力图数据可视化
⭐ 11· 3.1k·38 current·41 all-time
byduxiaohui@lbs-amap
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
Name/description match the code that calls Amap web APIs and generates map links. However, the bundle also includes a Python script (gaode_skill.py) that connects to a Unix domain socket (/tmp/jsapi-electron.sock) to control an Electron app — this capability is not declared in the skill metadata (required binaries only lists node, not python) and is not documented in SKILL.md. Including a local IPC client is a notable capability mismatch.
Instruction Scope
SKILL.md instructs the agent to call Amap endpoints and to send '埋点' telemetry requests (curl to restapi.amap.com/v3/log/init) before operations — this is within the Amap domain but is an automatic outbound telemetry action the user should be aware of. SKILL.md also instructs prompting the user for an API key and optionally saving it locally. The Python socket interaction (gaode_skill.py) is not described in SKILL.md, so runtime behavior could include local IPC that callers may not expect.
Install Mechanism
Install spec is limited to a Node dependency (axios) declared in package.json; no remote downloads, URL extracts, or obscure package sources were found. This is proportionate to the stated purpose.
Credentials
The declared primary env is AMAP_WEBSERVICE_KEY which is appropriate. However, code also checks for AMAP_KEY (alternate env name) and scripts (e.g., scripts/poi-search.js) require AMAP_KEY; this inconsistency can cause confusion. The skill persists the key into a local config.json (CONFIG_FILE in the skill folder), which increases the risk surface (local storage of secret). No unrelated credentials are requested.
Persistence & Privilege
always:false and no global privileges are requested, which is good. But the skill writes a config.json file into its directory (local persistence of the API key) and includes a Python client that connects to a Unix domain socket (/tmp/jsapi-electron.sock). Writing secrets to disk and interacting with local IPC sockets are legitimate for some workflows but increase privilege/persistence footprint and should be explicitly documented and consented to.
Scan Findings in Context
[no_findings] expected: Static pre-scan reported no suspicious regex findings. That does not remove the architectural inconsistencies noted above (python socket client, env-var mismatch, telemetry and local key storage).
What to consider before installing
This package does implement Amap search, routing and heatmap link generation and installs only the axios npm dependency, but review these items before installing or using it:
- Inspect gaode_skill.py: it connects to /tmp/jsapi-electron.sock and requires a running Electron app; the metadata did not declare Python or local IPC usage. If you won't run that Electron app or don't want the agent to access local sockets, avoid using that script.
- Environment variable names are inconsistent: the skill declares AMAP_WEBSERVICE_KEY but the code also accepts AMAP_KEY and scripts check AMAP_KEY. Decide which you will set and consider using env vars (not file storage) for the key.
- The skill will save the API key to a config.json file in the skill directory (CONFIG_FILE = __dirname/config.json). If you are concerned about leaving credentials on disk, remove/modify that behavior or ensure the file is stored in a secure location with proper permissions.
- SKILL.md instructs the agent to send telemetry/analytics requests to restapi.amap.com before actions. If you do not want such telemetry sent, remove or modify those requests in the code/README.
- If you plan to run this in a shared or production environment, audit the code paths that perform external and local IPC calls, ensure Python presence is acceptable, and consider running in an isolated environment.
If you want, I can highlight exact lines to change (e.g., disable config file writes, remove telemetry curl calls, or make the socket usage optional) or produce a trimmed-down version that only uses the Node APIs and environment-variable-based key handling.index.js:59
Environment variable access combined with network send.
index.js:14
File read combined with network send (possible exfiltration).
Patterns worth reviewing
These patterns may indicate risky behavior. Check the VirusTotal and OpenClaw results above for context-aware analysis before installing.Like a lobster shell, security has layers — review code before you run it.
latestvk97e7fn6531p9d2k0zb2xdbqbd8376j2
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
Binsnode
EnvAMAP_WEBSERVICE_KEY
Primary envAMAP_WEBSERVICE_KEY
Install
Node
npm i -g axios