TeamClaw

WarnAudited by ClawScan on May 10, 2026.

Overview

TeamClaw appears purpose-built for multi-agent orchestration, but it grants broad agent, bot, session, background-task, and network authority with several unclear or overbroad boundaries.

Install only if you trust the publisher and need a full multi-agent service. Before running it, add strict QQ/Telegram access controls, avoid pointing it at broad session files unless necessary, keep public tunnels off by default, review command-execution settings, and monitor/stop background OASIS and scheduler jobs.

Findings (9)

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

The user's agent could be steered into participating in TeamClaw orchestration without a clear task-level confirmation.

Why it was flagged

This directly tells an OpenClaw agent to adopt a TeamClaw external-agent role, which can redirect the host agent's identity or goal outside a specific user request.

Skill content
** 如果你是openclaw agent,请将自己作为Teamclaw的外部agent**
Recommendation

Make OpenClaw participation an explicit, user-approved setup step rather than a standing instruction in the skill prompt.

What this means

Anyone able to message or mention the QQ bot could potentially invoke the agent as the configured system user, including any tools or data available to that user.

Why it was flagged

The QQ bot forwards incoming private and group-mention messages to the agent using an internal-token credential for a single system user. The shown QQ handler does not include a whitelist or per-sender authorization check.

Skill content
QQ_BOT_USERNAME = os.getenv("QQ_BOT_USERNAME", "qquser") ... "api_key": f"{INTERNAL_TOKEN}:{QQ_BOT_USERNAME}:QQ" ... async def on_c2c_message_create(...): await self.handle_main_logic(message) ... async def on_group_at_message_create(...): await self.handle_main_logic(message)
Recommendation

Add an explicit QQ allow-list, map QQ identities to separate least-privilege users, and disable high-impact tools for bot-originated requests unless separately approved.

What this means

Bot traffic, including authentication flows, may be routed through an external tunnel/proxy in a way users may not expect, and it may bypass platform network restrictions.

Why it was flagged

The QQ bot globally monkey-patches aiohttp to force botpy traffic through a local SOCKS proxy, with a comment indicating it is used to address a whitelist 401.

Skill content
# 深度拦截:强制 botpy 内部请求走外部隧道 (解决白名单401) ... kwargs["connector"] = ProxyConnector.from_url(PROXY_URL) ... aiohttp.ClientSession.__init__ = _patched_init
Recommendation

Make proxy use explicit and opt-in, avoid global monkey-patching, document what traffic is routed, and do not frame it as bypassing whitelist controls.

What this means

Access to a local session store can let an integration act through or learn about existing sessions if not tightly controlled.

Why it was flagged

The skill asks users to point it at an OpenClaw sessions file, but the artifacts do not clearly explain the exact read/use scope, outputs, retention, or privilege boundaries for that session data.

Skill content
`OPENCLAW_SESSIONS_FILE` | OpenClaw sessions.json 文件的绝对路径(**使用 OpenClaw 时必须配置**) | `/projects/.moltbot/agents/main/sessions/sessions.json`
Recommendation

Declare this config path in metadata, document exactly how the sessions file is used, require explicit user confirmation, and prefer narrow per-session tokens over broad session-store access.

What this means

Running the tunnel setup may fetch executable code and expose local services to the internet.

Why it was flagged

The public-deployment workflow downloads and runs a tunneling binary. This is disclosed and user-directed, but it is a supply-chain and exposure-sensitive setup path.

Skill content
python scripts/tunnel.py ... Auto-detects platform → downloads `cloudflared` if missing → starts tunnels → captures public URLs → writes to `.env`
Recommendation

Verify the downloaded binary source/checksum, avoid public tunneling unless needed, and stop/remove tunnels when finished.

What this means

If misused or exposed through another integration, the agent could run commands or code in the configured environment.

Why it was flagged

The agent is intentionally given shell and Python execution tools. The prompt says these run in a safe sandbox and command whitelist, so this is purpose-aligned but high-impact.

Skill content
指令执行:可以在用户的安全沙箱目录中执行系统命令和 Python 代码 ... run_command:执行 shell 命令 ... run_python_code:执行 Python 代码片段
Recommendation

Keep command execution disabled for untrusted users and bot channels, review the whitelist, and require confirmation for destructive or networked commands.

What this means

Personal details or incorrect assumptions may persist and influence later sessions.

Why it was flagged

The skill maintains a persistent user profile that is automatically read into future conversations and can be proactively updated by the agent.

Skill content
每次对话开始时,系统会自动读取该文件内容并注入到你的上下文中 ... 当你在对话中发现用户的重要特征 ... 请主动使用文件管理工具更新 user_profile.txt
Recommendation

Review the profile file periodically, avoid storing secrets, and provide users with clear delete/edit controls.

What this means

Conversation content, workflow context, and headers can leave the local service and be stored by external providers.

Why it was flagged

OASIS can send prompts and custom headers to arbitrary OpenAI-compatible external experts, and the external service may retain state.

Skill content
ExternalExpert — direct call to any external OpenAI-compatible API ... pass x-openclaw-session-key via the YAML headers field ... External service is assumed stateful
Recommendation

Use only trusted external endpoints, avoid putting secrets in YAML headers, and require approval before sending sensitive context to external agents.

What this means

Work can continue outside the active chat, consuming resources or using tools until stopped or completed.

Why it was flagged

The service supports background operation and detached multi-agent discussions that continue after the immediate request returns.

Skill content
detach=true ... 后台继续运行/讨论;之后用 `check_oasis_discussion(topic_id)` 追踪进度与结果 ... bash selfskill/scripts/run.sh start     # 后台启动
Recommendation

Track running topics and scheduled jobs, provide clear stop controls, and limit which tools detached/background agents can use.