Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
Partykeys Midi
v1.0.12Control PartyKeys MIDI keyboard via WebSocket - connect device, light up keys with 12 colors, listen to playing, play sequences, and follow mode for music te...
⭐ 0· 137·0 current·0 all-time
by@allen4z
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
Name/description, SKILL.md, and included Python code all align: this package runs a WebSocket-based MCP server and optionally connects to a MIDI keyboard via BLE. Requested binary (python3) and Python deps are consistent. Minor mismatch: script_ble_client.py uses the Bleak BLE library but the setup installs only 'mcp' and 'aiohttp' (Bleak is missing from server/requirements.txt), which looks like an implementation oversight rather than malicious intent.
Instruction Scope
SKILL.md and setup.sh direct the user/agent to run scripts/setup.sh which creates a venv, installs Python packages, registers an MCP server, and links the skill into ~/.openclaw. The runtime launches a WebSocket server bound to 0.0.0.0:18790 with no built-in authentication — anyone who can reach that port can send commands to connected clients. The skill also instructs use of mobile/web bridge modes that forward commands to BLE clients; these network/bridge behaviors increase attack surface and deserve caution.
Install Mechanism
No external downloads; setup.sh creates a local Python venv and pip-installs packages (mcp, aiohttp). That is low-risk in terms of remote code fetch, but setup.sh writes to user home (~/.openclaw), creates a symlink in ~/.openclaw/skills, and modifies/creates ~/.openclaw/mcp.json. If jq is missing the script will write a new mcp.json and may overwrite existing entries (script warns about this). These filesystem/config changes are expected for registering an MCP but can clobber existing configuration.
Credentials
No environment variables or credentials are requested. The declared requirement (python3) matches the code. No unrelated credentials or config paths are requested.
Persistence & Privilege
The installer intentionally registers a persistent MCP entry in ~/.openclaw and symlinks the skill into ~/.openclaw/skills, which grants the skill persistent presence in the user's OpenClaw environment (expected for a skill). The concern is that the script may overwrite mcp.json entries when jq is missing, and the server binds to 0.0.0.0 without authentication — combination of persistence + open network binding increases risk if deployed on an untrusted network.
What to consider before installing
This skill generally does what it says: it runs a local Python WebSocket MCP server and can control a PartyKeys keyboard via BLE. Before installing, consider the following: 1) Backup ~/.openclaw and inspect your openclaw.json/mcp.json — setup.sh may overwrite mcp.json if jq is not present. 2) The MCP server listens on 0.0.0.0:18790 with no authentication; anyone who can reach that port can send commands. Restrict access via firewall or bind to localhost / use a TLS reverse proxy with auth if exposing remotely. 3) The BLE client uses the Bleak library but Bleak is not listed in requirements.txt — you may need to install it manually; review dependencies before pip install. 4) Run the setup in a controlled environment (local machine or trusted network) and review the Python source files (mcp_server.py, script_ble_client.py) for any extra behavior before giving it network access. If you need help hardening deployment (binding to localhost, adding auth, or sandboxing), do that first.Like a lobster shell, security has layers — review code before you run it.
latestvk970wxqbfg9y9wswpypprnj2nd8437ef
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
OSmacOS · Linux
Binspython3
