Skill flagged — suspicious patterns detected

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

skill-create-pip

v2.0.0

Control Ecovacs/DEEBOT robot vacuums via the Ecovacs IoT API. Use when the user wants to control a robot vacuum, check battery, start/stop/pause cleaning, re...

0· 100·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for 1209823208/skill-create-pip.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "skill-create-pip" (1209823208/skill-create-pip) from ClawHub.
Skill page: https://clawhub.ai/1209823208/skill-create-pip
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install skill-create-pip

ClawHub CLI

Package manager switcher

npx clawhub@latest install skill-create-pip
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the included code and docs. The script implements login, device discovery, and command sending to Ecovacs endpoints (api-app.dc-cn.cn.ecouser.net and device mqs hosts), which is exactly what a robot-control skill should do.
Instruction Scope
SKILL.md instructions align with the python script: login → get devices → send commands. The guidance references only the Ecovacs API, the included files, and a session file (~/.ecovacs_session.json). There are no instructions to read unrelated system files or transmit data to third-party endpoints.
Install Mechanism
No install spec — instruction-only with an included Python script. No downloads from arbitrary URLs or package installs. This is the lowest-risk install model for this functionality.
Credentials
The skill requests no environment variables or external credentials, which is appropriate. It does persistently store phone and password (MD5 or MD5-of-plaintext) and token in ~/.ecovacs_session.json; persisting credentials to a local file is functional but a security/privacy consideration (see user guidance).
Persistence & Privilege
always is false and the skill does not request system-wide changes or modify other skills. Writing a session file under the user's home directory is expected for a client; it does not alter other agent configurations.
Assessment
This skill appears to do what it claims (control Ecovacs vacuums). Before installing: (1) be aware the script stores your phone and password (MD5 or MD5-of-plaintext) plus token in ~/.ecovacs_session.json — protect that file (restrict file permissions) or remove the stored password after login if you prefer. (2) Traffic is sent to Ecovacs endpoints defined in the code; if you require higher assurance, verify those hostnames against official Ecovacs documentation or an official SDK/repo. (3) Because the session file contains credentials, delete or rotate them if you stop using the skill. (4) If you need stricter security, consider running the script in an isolated environment or inspect/modify the code to use a more secure secret store instead of a plaintext session file.

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

latestvk97bzrd4d8ts74dwnr61adjdd183kvh3
100downloads
0stars
2versions
Updated 1mo ago
v2.0.0
MIT-0

Ecovacs Robot Control

Auth Flow

Three-step flow: Login → Device List → Send Command

Full API details in references/api.md. Core script in scripts/ecovacs.py.

Session Management

Session (token + userid + resource) is stored in ~/.ecovacs_session.json after login. Always load_session() before calling device APIs. Re-login if token expired (errno 3000).

Critical Rule

toType = device's class field from device list (e.g. o0lqjm).
NOT "device" or "USER" — this is the #1 cause of errno:3003 permission denied.


Using the Script

# First time login
python3 scripts/ecovacs.py login <phone> <md5_or_plain_password>

# List all devices (shows did, status, name)
python3 scripts/ecovacs.py devices

# Check battery (use did or nick)
python3 scripts/ecovacs.py battery <did>

# Check clean status
python3 scripts/ecovacs.py status <did>

# Start full-house auto clean
python3 scripts/ecovacs.py clean <did> start

# Pause / resume / stop
python3 scripts/ecovacs.py clean <did> pause
python3 scripts/ecovacs.py clean <did> resume
python3 scripts/ecovacs.py clean <did> stop

# Return to dock
python3 scripts/ecovacs.py charge <did>

# Send any arbitrary command
python3 scripts/ecovacs.py cmd <did> getLifeSpan '{"type":"brush,sideBrush,heap"}'
python3 scripts/ecovacs.py cmd <did> setSpeed '{"speed":1}'
python3 scripts/ecovacs.py cmd <did> getWorkMode '{}'

Direct API Calls

When using tools directly (not script), follow this pattern:

# 1. Login
session = login(phone, md5(password))

# 2. Get devices
devices = get_devices(session)
device = next(d for d in devices if "T50" in d["deviceName"])

# 3. Send command
result = send_cmd(session, device, "clean_V2", {
    "act": "start",
    "content": {"type": "auto", "count": 1}
})

See references/api.md for full protocol reference:

  • Auth & device discovery — login, resource generation, device list fields
  • All command payloads — clean_V2, charge, battery, stats, speed, water, workmode, lifespan, autoEmpty, maps, schedules
  • State/event codes — error codes, evt codes, clean states

Common Protocols Quick Reference

GoalcmdNamekey body.data fields
开始全屋清扫clean_V2{act:"start", content:{type:"auto",count:1}}
区域清扫clean_V2{act:"start", content:{type:"spotArea",value:"mssid1,mssid2"}}
暂停/继续/停止clean_V2{act:"pause/resume/stop"}
回充charge{act:"go"}
查电量getBattery{}
查清扫状态getCleanInfo_V2{}
查本次面积时长getStats{}
查/设吸力getSpeed/setSpeed{speed:0} (1000静音/0标准/1强劲/2超强)
查/设水量getWaterInfo/setWaterInfo{amount:2} (1低/2中/3高/4超高)
查/设扫拖模式getWorkMode/setWorkMode{mode:0} (0边扫边拖/1仅扫/2仅拖/3先扫后拖)
查耗材getLifeSpan{type:"brush,sideBrush,heap,filter"}
手动集尘setAutoEmpty{act:"start"}
查地图列表getCachedMapInfo{}
查房间区域getMapSet{mid:"<map_id>",type:"ar"}
查预约getSched_V2{type:1}

Error Handling

errnomeaning
3000Token expired → re-login
3003Permission denied → check toType = device class
30000Device response timeout → device offline
0 (body.code)Success

Accounts (China domestic)

  • Login URL: https://api-app.dc-cn.cn.ecouser.net/api/users/user.do
  • org: ECOCN, country: CN
  • Password: MD5 hex of plaintext

Comments

Loading comments...