Message Tracker

Security checks across static analysis, malware telemetry, and agentic risk

Overview

The skill mostly matches its Feishu message-tracking purpose, but its hook builds Python code from message arguments and it persistently stores Feishu data using local credentials.

Install only if you intentionally want a background Feishu message indexer. Before enabling it, fix the tracker-hook.sh argument-handling issue, verify Feishu credential scopes, restrict daemon socket access, and understand where collected messages are stored and how to purge them.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A malicious or malformed message ID or batch argument reaching this hook could execute local code with the tracker's privileges, especially if the daemon/hook is run as root.

Why it was flagged

The hook constructs Python source code by directly interpolating shell variables for message content, message IDs, and batch arguments instead of passing them as data. Values containing Python string/list delimiters could alter the generated script.

Skill content
content_json=$(python3 -c "... 'content': '''${content}'''[:500] ...") ... args = ["${msg_id}"] ... "args": [${msg_ids}]
Recommendation

Do not enable the hook until it passes values through argv, stdin, or a safely encoded JSON file, uses quoted here-documents, and validates message IDs before invoking Python.

What this means

The skill can access Feishu messages available to the configured app credentials, so installing it grants the tracker meaningful account/workspace access.

Why it was flagged

The tracker reads the local OpenClaw Feishu app ID and secret and exchanges them for a Feishu tenant access token. That is expected for a Feishu tracker, but the registry metadata declares no credentials or required config paths.

Skill content
config_path = Path("/root/.openclaw/openclaw.json") ... app_secret = account.get("appSecret") ... /auth/v3/tenant_access_token/internal
Recommendation

Confirm the Feishu app permissions are limited to the intended channels/messages, and update metadata/docs to declare the credential/config dependency clearly.

What this means

Feishu messages and summaries may remain searchable or retained longer than users expect, including permanent daily records.

Why it was flagged

The skill stores Feishu message data, archives, daily records, and indexes in persistent OpenClaw memory paths. This is aligned with message search/history, but it means private chat content may persist and be reused.

Skill content
workspace/memory/messages/... Layer 1 (7天) ... workspace/memory/archive/... Layer 2 (90天) ... workspace/memory/daily/... Layer 3 (永久) ... workspace/memory/index/message-index.json
Recommendation

Limit tracked channels, protect the OpenClaw workspace, verify actual storage paths before deletion, and provide clear purge/retention controls for users.

What this means

Message tracking can continue in the background until the daemon is stopped, and local processes may interact with the daemon socket if permissions allow.

Why it was flagged

The skill intentionally supports a long-running daemon with a Unix socket and watchdog behavior. This is disclosed and purpose-aligned, but users should notice that it continues operating after startup.

Skill content
daemon ... 使用 Unix Socket (/run/track-daemon.sock) 接收请求 ... Watchdog线程每30秒检查一次主线程响应性
Recommendation

Run the daemon only when needed, use the documented stop/status commands, and restrict the socket and PID/lock files to trusted local users.