Skill flagged — suspicious patterns detected

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

Real-time Employee Absence Monitoring Skill | 人员离岗实时监测技能

v1.0.0

Real-time monitoring of personnel on-duty status in specific areas based on computer vision and human pose estimation, automatically detects abnormal statuse...

0· 14·0 current·0 all-time
bysmyx-skills@18072937735
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
Capability signals
Requires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The declared purpose (cloud-based computer-vision absence detection) matches the presence of API-calling code, but the bundle also contains a large shared library (skills/smyx_common) with SQLite DAO, DB path construction (using OPENCLAW_WORKSPACE), and a separate face-analysis subskill (中医面诊) that is unrelated to 'absence detection'. Having a local DB, DAO, and many unrelated features in a skill that claims only to call a cloud analysis API is disproportionate and unexpected.
!
Instruction Scope
SKILL.md forbids reading local memory and LanceDB and mandates always obtaining an open-id from specific config files (skills/smyx_common/scripts/config.yaml or workspace config) or user input. The runtime instructions also require saving user-uploaded attachments into an attachments folder under the skill. The code indeed reads config YAML files, environment variables (e.g., OPENCLAW_SENDER_OPEN_ID, FEISHU_OPEN_ID via ConstantEnum.init) and will write/read files (saving attachments, creating SQLite DB under workspace/data). The explicit prohibition against local memory access contrasts with code that can read/write local configs and DB — an internal inconsistency and a scope creep risk.
Install Mechanism
There is no install spec (instruction-only style) but the package includes Python requirements files with a large dependency list (skills/smyx_common/requirements.txt and face_analysis/requirements.txt). That means the skill assumes a heavy Python environment without declaring how to install it; while there is no remote download/extract behavior, the undeclared heavy dependency footprint increases operational friction and risk if the environment is changed to satisfy requirements.
!
Credentials
Registry metadata reports no required env vars, but the code reads several environment variables (OPENCLAW_SENDER_OPEN_ID, OPENCLAW_SENDER_USERNAME, FEISHU_OPEN_ID, OPENCLAW_WORKSPACE) and will also read config YAML files which may contain API keys, base URLs, or database URLs. The skill also accepts an optional --api-key and --api-url. Asking the user for an open-id and optionally an api-key is reasonable, but the code's ability to read workspace-wide config and populate DB paths means it can access broader workspace configuration and potentially secrets unrelated to the stated purpose.
!
Persistence & Privilege
The skill writes user-uploaded attachments into an attachments directory and the common library will create/modify YAML config files and a SQLite database under a workspace data path (derived from OPENCLAW_WORKSPACE). Although always: false, the skill therefore gains persistent local state and can store records locally across runs, which conflicts with the SKILL.md emphasis on forbidding local-memory fallbacks.
What to consider before installing
This skill claims to call a cloud API for absence detection, which is reasonable, but there are several red flags you should consider before installing or running it: - Inconsistency: SKILL.md forbids reading local memory, yet the code reads workspace config files, environment variables, and can create a local SQLite DB and attachments. Ask the author which local files the skill will actually access and why local persistence is needed. - Data exfiltration risk: The scripts call remote API endpoints (configurable base URLs) and will upload media files (local video/image) to those endpoints. Verify the API endpoint (ApiEnum BASE_URL values) and that you trust the remote service before uploading any sensitive footage. Do not pass organization/employee credentials or private videos until you confirm the endpoint and privacy policy. - Credentials and config: The skill will read env vars and config YAML under the workspace; ensure these files do not contain unrelated secrets (API keys, DB URLs) before granting execution. Prefer providing only the minimal --open-id / --api-key at runtime rather than leaving broad workspace config populated. - Persistence: The skill will create files (attachments) and a local DB under the workspace; run this in an isolated environment or sandbox (or review and change file paths) if you do not want persistent artifacts stored in your primary workspace. - Dependency / installation: The package includes large requirements but no install instructions. If you intend to run it, install and review dependencies in an isolated virtual environment and inspect RequestUtil (skills/smyx_common/scripts/util.py) to confirm how HTTP requests are made and where data is sent. Recommended actions before use: 1. Request clarification from the publisher about why local DB/DAO and face-analysis components are bundled and whether they are required. 2. Inspect skills/smyx_common/scripts/util.py (especially RequestUtil) to confirm exact network endpoints, headers, and whether any credentials are automatically read or transmitted. 3. Run the skill in a sandboxed environment with dummy data first; do not use real employee footage until you confirm storage and retention policies for remote servers. 4. If you cannot verify endpoints and behavior, decline to install or disable autonomous invocation; require manual invocation and explicitly avoid supplying organizational secrets or unrestricted workspace config files. If you want, I can extract and summarize the RequestUtil and util.py implementations and list all places where network requests or file writes happen to help you decide.
!
skills/smyx_common/scripts/config-dev.yaml:2
Install source points to URL shortener or raw IP.
About static analysis
These patterns were detected by automated regex scanning. They may be normal for skills that integrate with external APIs. Check the VirusTotal and OpenClaw results above for context-aware analysis.

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

latestvk9796q0wbmyrmnvygqvg9srvs9851p5k

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Comments