Back to skill
Skillv1.0.0

ClawScan security

Image Quality Assessment Analysis Tool | 图像质量检测分析工具 · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

ReviewApr 16, 2026, 3:59 AM
Verdict
Review
Confidence
medium
Model
gpt-5-mini
Summary
The package largely matches an image-quality detection purpose but contains unexpected modules, local persistence, and external API endpoints not clearly disclosed in SKILL.md — the pieces are inconsistent enough that you should review endpoints/config and data flows before installing.
Guidance
What to check before installing: - Confirm endpoints: the included common config points to domains (e.g., open.lifeemergence.com / lifeemergence.com). Review skills/smyx_common/scripts/config.* and RequestUtil (skills/smyx_common/scripts/util.py) to see exactly which URLs the skill will call and whether uploads will be made to those services. - Data sensitivity: the skill uploads images/video frames to remote APIs. Do not run it with private or sensitive camera feeds until you confirm the remote service and its privacy/security policies. - Local persistence mismatch: SKILL.md forbids reading local memory/history, but the package contains DAO code that writes a local SQLite DB and code that reads/writes config.yaml in the workspace. If you require no local persistence, this skill is inconsistent. - Unrelated functionality: the bundle includes a large face_analysis/TCM module (medical/face-analysis code). Confirm you are comfortable with that code being present and potentially reuseable within the package (it may cause broader data flows than image-quality alone). - Environment & credentials: SKILL.md asks for an open-id obtained from config files; the code also reads some environment variables silently. Ensure no sensitive environment variables or secrets will be used or leaked. If you will supply an API key or open-id, verify where it is sent. - Test in sandbox: run the skill in an isolated environment (no access to sensitive feeds) and instrument network calls (or use a captive DNS/proxy) to observe outbound requests before using with real camera data. If you want, I can (a) locate and summarize the RequestUtil functions to show exact HTTP destinations and headers, (b) list all places the code writes files under your workspace, or (c) highlight references in the code where images/video get uploaded. Those details would raise confidence level.

Review Dimensions

Purpose & Capability
concernSKILL.md describes image-quality detection, which aligns with scripts/image_quality_detection_analysis.py. But the bundle also includes a sizeable face_analysis subskill (中医面诊) and a large smyx_common library with DB/DAO and many API endpoints. Those face-analysis/medical modules are unrelated to the stated image-quality purpose and increase the skill's footprint and network scope beyond what the description claims.
Instruction Scope
concernThe runtime instructions forbid reading local memory and LanceDB, and require retrieving an open-id from config files. However the code reads/writes config.yaml, may read environment variables, and smyx_common includes a DAO that writes a local SQLite DB under the workspace/data path. The SKILL.md requirements (no local memory usage) contradict the code's local I/O and persistence behaviors.
Install Mechanism
noteThere is no install spec (instruction-only) but multiple requirements.txt files are included. That means the skill will run local Python code (no automatic installer), and relies on network calls implemented in the included modules. No external download URLs were used, which lowers install-time network risk, but many optional dependencies are bundled as metadata (large dependency surface).
Credentials
concernThe registry metadata declares no required env vars or credentials, but the code uses configuration files (skills/smyx_common/scripts/config.yaml), reads environment variables (e.g., OPENCLAW_SENDER_OPEN_ID, FEISHU_OPEN_ID) and supports API keys/open-id for remote services. The SKILL.md instructs getting open-id from local config files in the workspace; that is a plausible design, but the skill also may persist data locally. The lack of explicit declared credentials in metadata vs. code usage is an inconsistency and warrants caution.
Persistence & Privilege
concernThe code will create/read config YAMLs and the DAO creates a SQLite DB under workspace/data — i.e., it persists data to disk. SKILL.md claims an absolute prohibition on using local memory for history, yet included libraries persist local data. The skill does not request always:true, but it does persist and may read workspace config files, which is higher privilege than an ephemeral/readonly instruction-only skill.