Ezviz Open Multimodal Analysis

ReviewAudited by ClawScan on May 1, 2026.

Overview

The skill’s behavior matches its camera-analysis purpose, but it handles Ezviz credentials, camera snapshots, external AI analysis calls, and a local token cache that users should understand before installing.

This appears to be a coherent Ezviz camera-analysis skill, not a malicious one. Before installing, use a dedicated least-privilege Ezviz AppKey/AppSecret, confirm which camera device serials are configured, decide whether token caching in `/tmp/ezviz_global_token_cache/` is acceptable, and disable caching with `EZVIZ_TOKEN_CACHE=0` if local token persistence is not acceptable.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Anyone using this skill must provide Ezviz credentials that can access camera snapshots and AI analysis services.

Why it was flagged

The skill requires Ezviz account credentials to capture camera images and call the analysis service; this is expected for the integration but grants account-level delegated access.

Skill content
必须设置 EZVIZ_APP_KEY 和 EZVIZ_APP_SECRET 环境变量,使用最小权限凭证。
Recommendation

Use a dedicated Ezviz application key with only the permissions needed for snapshot capture and AI analysis, and avoid using broad main-account credentials.

What this means

The skill may use stored Ezviz credentials from local OpenClaw configuration files instead of only the environment variables.

Why it was flagged

If environment variables are not set, the code reads OpenClaw config files and uses `channels.ezviz` credentials. This fallback is disclosed and scoped, but it is still local credential/profile access.

Skill content
config_paths = [os.path.expanduser("~/.openclaw/config.json"), os.path.expanduser("~/.openclaw/gateway/config.json"), os.path.expanduser("~/.openclaw/channels.json")]
Recommendation

Prefer explicit environment variables for this skill, keep Ezviz credentials in a dedicated scoped channel, and remove or disable unused stored credentials.

What this means

A local access token may remain on disk and could be reused until it expires if the cache file is accessed.

Why it was flagged

The token manager persists Ezviz access tokens in a local cache by default. The artifacts disclose the cache and set file permissions to 0600, but persisted access tokens remain sensitive.

Skill content
"access_token": access_token, "expire_time": expire_time, "created_at": get_current_timestamp(), "app_key_prefix": app_key[:8] + "..."
Recommendation

Disable token caching with `EZVIZ_TOKEN_CACHE=0` in high-security environments, and periodically clear the cache when credentials are rotated or no longer needed.

What this means

Camera snapshots and prompts are transmitted to the Ezviz AI analysis service, which may reveal private scenes from the monitored location.

Why it was flagged

The script sends a captured camera image URL and analysis prompt to the Ezviz AI-agent analysis endpoint. This is central to the skill’s purpose and disclosed, but it is sensitive media data leaving the local environment.

Skill content
payload = {"appId": agent_id, "mediaType": "image", "text": analysis_text, "dataType": "url", "data": image_url}
Recommendation

Use this skill only with trusted Ezviz endpoints and accounts, limit the configured device serials to intended cameras, and avoid sending snapshots from private areas unless necessary.