Back to skill
Skillv1.0.0

ClawScan security

Onebot Adapter 1.0.0 · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

ReviewFeb 26, 2026, 1:59 PM
Verdict
Review
Confidence
medium
Model
gpt-5-mini
Summary
The skill mostly implements a OneBot client/listener that matches its description, but there are internal inconsistencies (undeclared environment variables in registry metadata and a mismatched owner id in _meta.json) that warrant caution before installing.
Guidance
This adapter appears to do what it says (HTTP client + WebSocket listener for OneBot), but there are a few inconsistencies you should resolve before installing: (1) SKILL.md and the Python scripts expect ONEBOT_WS_URL, ONEBOT_HTTP_URL, and ONEBOT_TOKEN, yet the registry metadata lists no required env vars — verify you are intentionally supplying those values and understand what token you are providing. (2) _meta.json shows a different ownerId than the registry header — confirm the publisher/source is trustworthy. Also note the scripts assume the 'requests' and 'websockets' Python packages and include an unusual shebang (/opt/playwright/bin/python) — run in a sandbox or virtualenv, install dependencies yourself, and review the two Python files locally. Do not supply ONEBOT_TOKEN (or any sensitive token) unless you trust the OneBot server and the skill source.

Review Dimensions

Purpose & Capability
noteFiles (onebot_client.py and onebot_ws_listener.py) implement HTTP and WebSocket OneBot integration consistent with the skill name/description. However, the registry metadata claims no required env vars while SKILL.md and the code rely on ONEBOT_WS_URL, ONEBOT_HTTP_URL, and ONEBOT_TOKEN. Also _meta.json contains a different ownerId than the top-level registry owner — an ownership/packaging mismatch.
Instruction Scope
okSKILL.md gives concrete instructions (export ONEBOT_* env vars, run the listener, use the client API). The included code only reads those env vars, connects to the configured OneBot server, and sends/receives OneBot events; it does not attempt to read arbitrary system files or exfiltrate data to unexpected endpoints. The instructions are not overly broad.
Install Mechanism
okThere is no install spec (instruction-only) and the code is included as scripts. No downloads or archive extraction are performed. Note: the shebang lines reference /opt/playwright/bin/python which is an unusual interpreter path and may cause launch failures if that path does not exist.
Credentials
concernThe environment variables referenced (ONEBOT_WS_URL, ONEBOT_HTTP_URL, ONEBOT_TOKEN) are appropriate for a OneBot adapter. However, the skill metadata does not declare these required env vars, creating an inconsistency that could hide the need to provide a token. ONEBOT_TOKEN is sensitive (authorization token); only provide it when you trust the target OneBot server and the skill source.
Persistence & Privilege
okThe skill does not request persistent/always-on privileges (always: false). It does not modify other skills or system-wide settings. It runs network clients and a listener as expected for its purpose.