Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
Plant Wilting Monitoring Skill | 植物枯萎监测技能
v1.0.0Early monitoring of plant wilting based on hyperspectral imaging and computer vision, captures early wilting signs before visible symptoms, provides early wa...
⭐ 0· 18·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
Capability signals
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
OpenClaw
Suspicious
medium confidencePurpose & Capability
The code and SKILL.md both describe remote API-driven plant wilting analysis (uploading files or pointing URLs), which is coherent with the skill's stated purpose. However, the package also bundles a large shared library (skills/smyx_common) and a full face_analysis skill. That extra code increases footprint and attack surface and is not strictly necessary for a focused plant-wilting analysis skill, though it may be a shared codebase reused across multiple skills.
Instruction Scope
SKILL.md explicitly forbids reading local memory files or LanceDB and mandates always fetching historical reports from a cloud API. However, the included code: (1) reads YAML config files under skills/.../config.yaml (BaseEnum init), (2) uses and can create local config files, and (3) includes a DAO that writes/reads an SQLite DB under the workspace data directory. The SKILL.md prohibition and the code's filesystem/DB usage contradict each other and give the agent unclear rules about local state access.
Install Mechanism
There is no install spec (instruction-only in registry), which reduces upfront install risk. Nevertheless the repository contains large requirements files (skills/smyx_common/requirements.txt) listing many packages — disproportionate for a small image-upload wrapper. Because no install mechanism is declared, the platform may or may not install those dependencies; the presence of many dependencies increases risk if they are later installed without review.
Credentials
The skill metadata declares no required env vars, but the code reads several environment variables at runtime: OPENCLAW_WORKSPACE, OPENCLAW_SENDER_OPEN_ID, OPENCLAW_SENDER_USERNAME, FEISHU_OPEN_ID, and the ApiEnum config expects API_KEY/API_SECRET and base URLs (from config files). The SKILL.md also enforces a strict open-id fetch flow that looks for config files in the skill or workspace. Undeclared environment dependencies and implicit reliance on workspace paths are disproportionate to the simple 'upload and call API' description and should be disclosed to users.
Persistence & Privilege
Although always:false and no special platform privileges are requested, the code will create/read files in the workspace (it writes config.yaml defaults if missing and the Dao constructs and writes an SQLite DB under {OPENCLAW_WORKSPACE}/data). That gives the skill persistent local storage and the ability to store records, which conflicts with the SKILL.md prohibition against using local memory for historical reports.
What to consider before installing
What to consider before installing/using this skill:
- Mismatch between policy and code: SKILL.md forbids reading local 'memory' files and LanceDB, but the code will read/write YAML config files and can create/use a local SQLite DB under the workspace data directory. If you rely on that prohibition for privacy, do not trust it until code is modified and audited.
- Undeclared environment variables: The code reads OPENCLAW_WORKSPACE, OPENCLAW_SENDER_OPEN_ID, OPENCLAW_SENDER_USERNAME, and FEISHU_OPEN_ID (and the ApiEnum/config may use API keys and base URLs). These are not listed in the skill's declared requirements. Confirm where open-id comes from and whether your environment will expose sensitive IDs to the skill.
- External endpoints and data upload: By default config files point to lifeemergence/open API hosts. The skill uploads files or tells a remote API to download a URL. Verify the API endpoints (and privacy policy) before sending images/videos; do not upload sensitive images to an untrusted backend.
- Large shared library and unrelated code: The package contains a full face_analysis skill and a heavy smyx_common dependency tree. That increases attack surface and may include functionality unrelated to plant monitoring. Inspect skills/smyx_common/scripts/util.py and api_service.RequestUtil to confirm exactly what is sent to remote servers (headers, tokens, full payload).
- Persistence: The skill may create local database and config files under the workspace; if you need zero local persistence, run the skill in an isolated environment or sandbox.
Actionable steps:
1) Inspect skills/smyx_common/scripts/util.py (RequestUtil) to see endpoints, headers, and whether it includes any credential exfiltration or telemetry. Confirm where files are uploaded and exactly which fields (open-id, filenames, etc.) are sent.
2) If you will use historical-report features, ask the publisher to document how open-id is used, how long reports are retained, and to provide a privacy statement for the remote API.
3) Run the skill in an isolated test workspace (with a throwaway OPENCLAW_WORKSPACE and without providing real credentials) to observe network calls before using with production data.
4) If you cannot audit the RequestUtil and API behavior, avoid uploading sensitive images or providing real identifiers (open-id) to the skill.
What would change this assessment: seeing a trimmed package that only contains the plant-wilting scripts (no unrelated face_analysis), an explicit declaration of env vars and the API endpoints, or a clear README describing exactly what RequestUtil transmits and how data is stored/retained would raise confidence. Conversely, if RequestUtil sends environment contents or arbitrary local files to remote endpoints, the verdict would escalate.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.
latestvk97d2gdr9hvegzj4a33yk0vdm1852krr
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
