Skill flagged — suspicious patterns detected
ClawHub Security flagged this skill as suspicious. Review the scan results before using.
External Receiver
v1.0.0通用外部数据接收 Skill。 在服务器上启动 HTTP 服务,接收外部文件上传和消息, 自动将内容推送到 OpenClaw 用户会话。 支持:文件上传、文本消息、Webhook JSON、curl / wget 客户端。
⭐ 0· 72·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
high confidencePurpose & Capability
The stated purpose (start an HTTP server to receive files/messages and push them into an OpenClaw session) matches the code: receiver_server.py implements /upload, /message, /webhook and writes notifications. However the skill also attempts to read OpenClaw gateway configuration (~/ .openclaw/openclaw.json) to obtain an auth token and connect to a local WebSocket — this access to local gateway credentials is not declared in the metadata and is not explicitly mentioned in SKILL.md (the doc only hints at WebSocket attempts).
Instruction Scope
SKILL.md instructs the user to run scripts/start.sh which runs receiver_server.py. The runtime instructions and code will: (1) accept arbitrary uploads and save them to RECEIVER_DIR, (2) write notifications into ~/.openclaw/workspace/received/message_queue.jsonl for the agent to read, and (3) read ~/.openclaw/openclaw.json to extract a gateway token and attempt a local WebSocket push. The code reads/writes files under the user's home directory that were not declared in requires.config, and the SKILL.md examples/documented paths are inconsistent with the code (the docs show paths under ~/.openclaw/workspace/received but the server's default RECEIVER_DIR is a skill-relative ../received).
Install Mechanism
There is no external download/install step and no remote code fetched at install time. The skill ships 3 script/code files and a start script; running the start script executes local Python code. No untrusted network installs are present in the manifest.
Credentials
No required environment variables are declared, but the code will respect optional RECEIVER_* env vars and will (without explicit metadata) access ~/.openclaw/openclaw.json to read a 'gateway'->'auth'->'token'. That means the skill can read a local configuration file that may contain sensitive tokens even though 'required config paths' or any credential access are not declared. The code also writes to ~/.openclaw/workspace/received/message_queue.jsonl (queue file) — this persistent file location is not declared in metadata either.
Persistence & Privilege
The skill does not request 'always: true' and does not modify other skills, but it creates persistent files/directories under the user's home (~/.openclaw/workspace/received and a received directory), and will remain listening (network server) while run. It also tries to use a gateway websocket for immediate push if local config/token is present. These behaviors are expected for a receiver but are persistent and network-exposed by default (0.0.0.0:8080) unless the user changes env/config.
What to consider before installing
This skill implements an HTTP file/message receiver, which is plausible for its description, but there are several red flags to consider before installing:
- Undeclared local config access: receiver_server.py reads ~/.openclaw/openclaw.json to extract a gateway auth token and may attempt a WebSocket connection using that token. This access to a local config/secrets file is not declared in the skill metadata. Inspect ~/.openclaw/openclaw.json to see what secrets it contains before running the skill.
- Undeclared persistent files: the skill writes notifications to ~/.openclaw/workspace/received/message_queue.jsonl and creates a received directory; these persistence locations are not listed in the registry metadata. If you want uploads stored elsewhere, set RECEIVER_DIR and confirm the server actually uses that path.
- Documentation / code mismatch: SKILL.md shows responses and default storage paths under ~/.openclaw/workspace/received, but the server's default RECEIVER_DIR (when not set) is skill-relative (../received). Confirm the actual storage location and update env vars accordingly.
- Network exposure: default host is 0.0.0.0 and default port 8080. If you run this on a publicly reachable host, require RECEIVER_SECRET and use firewall rules or a reverse proxy with TLS. The start script runs the server directly; consider running it inside a sandboxed container or private network.
- File handling: uploaded files are saved as-is (basename + timestamp) with no content inspection — avoid running or exposing uploaded files. Regularly clean the received directory and restrict who can POST to the endpoint.
Recommendations before use:
1) Review ~/.openclaw/openclaw.json contents and confirm you're comfortable the skill reading it and using any token inside. 2) Set RECEIVER_SECRET and firewall rules before exposing the server. 3) Set RECEIVER_DIR to a controlled location and verify the code writes there. 4) Run in an isolated environment (container/VM) if you don't trust the origin. 5) Ask the skill author to declare the config paths and token usage in registry metadata and to fix the documentation/code path inconsistencies.
Given these undeclared accesses and inconsistencies, proceed only after addressing or accepting these risks.Like a lobster shell, security has layers — review code before you run it.
latestvk97c50spd7zq1tpx8k7tsrtpp583jd29
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
