添加飞书机器人

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill matches its stated Feishu-agent purpose, but its scripts make high-impact OpenClaw changes with unsafe input handling, hardcoded routing, and broad agent-to-agent access.

Only install this if you trust the maintainer and are comfortable with it directly editing your OpenClaw configuration. Before use, patch the scripts to validate agent IDs, remove the hardcoded Feishu group ID, avoid node -e string interpolation, back up /home/admin/.openclaw/openclaw.json, and explicitly review Feishu credentials and agent-to-agent permissions.

Findings (5)

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 malformed or malicious agent name, ID, model, App ID, or App Secret could cause local code execution or corrupt the OpenClaw configuration.

Why it was flagged

User-supplied arguments are interpolated directly into JavaScript source passed to node -e. Quotes or crafted values can break out of the string and execute unintended Node code.

Skill content
node -e "... const agentId = '$AGENT_ID'; ... const appSecret = '$APP_SECRET'; ..."
Recommendation

Do not pass raw shell variables into node -e. Validate identifiers with a strict regex, pass values through argv or environment variables, and JSON-encode values before writing config.

What this means

Deleting an agent could remove more local data than intended if the ID is malformed or attacker-controlled.

Why it was flagged

The script uses an unvalidated agent-id in recursive delete paths. Because slashes or '..' are not rejected, a crafted ID can target unintended directories.

Skill content
rm -rf "$AGENTS_DIR/$AGENT_ID"
rm -rf "$WORKSPACE_BASE/workspace-$AGENT_ID"
Recommendation

Reject path separators and traversal sequences, canonicalize paths before deleting, require the resolved path to stay under the intended OpenClaw directory, and back up config before mutation.

What this means

A newly created bot may be connected to an unexpected Feishu group or account scope, and its secret is written into the main OpenClaw config.

Why it was flagged

The script stores Feishu credentials, enables the account, and binds every new agent to one hardcoded Feishu group ID instead of requiring the user to choose or confirm the target peer.

Skill content
config.channels.feishu.accounts[agentId] = { appId: appId, appSecret: appSecret, domain: 'feishu', enabled: true };
...
id: 'oc_b34e7d612305f015d0a9a061fef1dec3'
Recommendation

Make the Feishu group/peer ID an explicit user-supplied parameter, confirm it before writing config, document where secrets are stored, and avoid enabling accounts until the user reviews the binding.

What this means

A newly created bot may gain access to inter-agent communication paths that expose information or influence other agents beyond what the user expected.

Why it was flagged

Each created Feishu agent is automatically added to the agent-to-agent allow list, with no artifact evidence of scoped peers, actions, or data boundaries.

Skill content
config.tools.agentToAgent.allow.push(agentId);
Recommendation

Do not grant agent-to-agent access by default. Ask the user to opt in, specify allowed peers/actions, and document what data can move between agents.

What this means

Future agent sessions may reuse information saved in the generated workspace.

Why it was flagged

The created workspace includes persistent memory files. This is aligned with creating a long-lived agent, but it affects retention of user and conversation context.

Skill content
- **Daily notes:** `memory/YYYY-MM-DD.md` — raw logs of what happened
- **Long-term:** `MEMORY.md` — your curated memories
Recommendation

Review the generated workspace files, decide what may be stored, and periodically clear or restrict memory files if they contain sensitive information.