Back to skill
Skillv1.0.0
ClawScan security
Child Hazardous Behavior Recognition Tool | 儿童危险行为识别分析工具 · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
SuspiciousApr 14, 2026, 8:56 AM
- Verdict
- suspicious
- Confidence
- medium
- Model
- gpt-5-mini
- Summary
- The skill generally matches a child-behavior recognition feature but contains multiple mismatches and risky behaviors (reads/writes workspace files, creates local DB/configs, references unrelated face/pet modules and external APIs) that are not fully justified by its description.
- Guidance
- This skill is not obviously malicious but has several red flags you should consider before enabling it: - Code reuse and scope creep: The package contains unrelated modules (face_analysis, pet-health docs) and a large shared library (skills/smyx_common). That may be benign reuse but increases the amount of code executed and any surprises. - File I/O and persistence: The skill will read/write config files and create a local SQLite DB under the workspace/data path and will save uploaded attachments to the skill directory. If you need to avoid local persistence, do not install or run it. - Network endpoints and API keys: The skill calls remote APIs (base URLs in skills/smyx_common/scripts/config.yaml point to lifeemergence domains). It will ask for an open-id (and optionally an API key). Do not provide real user identifiers, credentials, or sensitive data until you verify the backend endpoints and privacy policy. - Environment leakage: The code implicitly reads environment variables (OPENCLAW_SENDER_OPEN_ID, OPENCLAW_SENDER_USERNAME, FEISHU_OPEN_ID, OPENCLAW_WORKSPACE). If those exist in your environment they may be used automatically. - Minimal test recommendations: run the tool in an isolated sandbox workspace, with network egress blocked or pointed to a mock endpoint, and with empty/controlled OPENCLAW_WORKSPACE. Inspect (or prevent) the created config.yaml and sqlite DB. Review the actual API host addresses and confirm they are trusted before supplying real open-id or API keys. If you proceed, audit the code paths that perform HTTP requests (skills/smyx_common/scripts/api_service.py and scripts/api_service.py), decide where uploaded videos and generated reports will be stored, and confirm the remote service's data retention and privacy practices.
Review Dimensions
- Purpose & Capability
- concernThe declared purpose is child hazardous behavior recognition and the scripts implement a wrapper that calls a remote analysis API, which is coherent. However the repository includes unrelated artifacts (face_analysis and pet-health references, README about TCM face diagnosis, references/api_doc.md about pet health) suggesting code reuse or copy-paste from other domains. That mismatch increases risk because the skill will pull in a general-purpose common library (skills/smyx_common) and may call generic AI endpoints rather than a narrowly scoped child-safety API.
- Instruction Scope
- concernSKILL.md forbids reading local memory files, but the runtime instructions and code explicitly require reading configuration files (skills/smyx_common/scripts/config.yaml in-skill and in-workspace) to obtain open-id and may auto-save uploaded attachments under the skill directory. The skill instructs running python -m scripts.child_dangerous_behavior_recognition_analysis from the skill root which will execute the included codebase (not a minimal single-script). The code also includes a local DAO and SQLite usage (skills/smyx_common/scripts/dao.py) and utilities that may access workspace paths. This conflicts with the 'absolute prohibition' on local memory access and widens scope to file I/O and local persistence.
- Install Mechanism
- noteThere is no install spec (instruction-only), so nothing will be automatically downloaded at install time. However the bundle contains a large requirements list (skills/smyx_common/requirements.txt and face_analysis requirements) and many Python modules; the SKILL.md mentions requests>=2.28.0. Because no installer is declared, users/operators must manually satisfy dependencies — the lack of an install step is inconsistent with the embedded requirements but not itself malicious.
- Credentials
- concernThe skill declares no required environment variables but the code reads several environment values implicitly: OPENCLAW_SENDER_OPEN_ID, OPENCLAW_SENDER_USERNAME, FEISHU_OPEN_ID and OPENCLAW_WORKSPACE are referenced in skills/smyx_common/scripts/config.py and dao.py. The SKILL.md enforces retrieving an 'open-id' via local config files or from the user message; it also encourages passing optional api-key/api-url. Requesting/pulling these values at runtime (and creating config files if missing) is broader than the declared 'none' and may access workspace-wide config and create files/databases under workspace/data.
- Persistence & Privilege
- concernAlthough always:false, the skill will create/read files and a local SQLite DB: YamlUtil.load will create config.yaml if missing (skills/smyx_common/scripts/config.yaml), and Dao.get_db_path builds a workspace data path and creates a sqlite DB (smyx-common-claw.db) under workspace/data. SKILL.md also says uploaded attachments will be saved to an attachments directory under the skill. These behaviors persist data on disk and modify config/DB files in the workspace, which is more privilege than the description implies.
