Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Reed Agent Network

v0.2.2

Build and operate a cross-gateway AgentNetwork using Discord as the message bus and GitHub as shared state storage. Use when registering agents, syncing rost...

0· 493·1 current·1 all-time
byReed@reed1898
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description align with the code and SKILL.md: this is a cross-gateway coordination helper that uses Discord for transport and a Git repo for shared state. However, the registry metadata claims no required config paths or credentials while the implementation reads/writes ~/.openclaw/shared/agent-network-data and workspace MEMORY.md and expects to push to a remote GitHub repo. That undeclared file access is an inconsistency to be aware of.
!
Instruction Scope
SKILL.md and scripts instruct agents to read/write a canonical AGENT_CONSTITUTION.md and update the workspace MEMORY.md, and to publish registry changes by committing and pushing to a remote Git repo. The Python script performs git clone/fetch/pull/commit/push and writes files under the user's home and workspace. These are legitimate for a shared-state system but amount to broad filesystem and network side effects that are not called out in the skill's 'requirements' metadata.
Install Mechanism
Instruction-only install (no external installer). The bundled script uses the local git binary via subprocess. There is no third-party download or extract step in the skill itself.
!
Credentials
No environment variables or credentials are declared, but the skill implicitly depends on existing git authentication (SSH keys or HTTPS credentials) to push to the remote repo, and it will publish agent records (including gateway/node names and Discord IDs) to that remote. The references/git-config.json points at https://github.com/reed1898/agent-network-data.git — you must trust that remote before allowing pushes. The skill also modifies user's workspace files (MEMORY.md) without declaring a required config path.
Persistence & Privilege
always:false and model invocation allowed (default). The skill writes persistent state to ~/.openclaw/shared and to the workspace MEMORY.md, and will push that state to a remote Git repository. It does not modify other skills or system-wide agent settings.
What to consider before installing
This skill is coherent with its stated purpose but performs intrusive actions you should review before installing: it will clone/pull/commit/push to a GitHub repository (references/git-config.json), create/update ~/.openclaw/shared/agent-network-data/AGENT_CONSTITUTION.md, and insert/update a MEMORY.md block in your workspace root. Confirm the repo_url is trusted (inspect https://github.com/reed1898/agent-network-data.git), ensure you accept sharing of agent IDs, node names, and Discord IDs to that remote, and be aware it will use whatever git auth is configured on the host (SSH keys or stored HTTPS credentials). If you want to test safely, run the script in an isolated environment or change references/git-config.json/local_path to a local-only repo you control before running. If you need the skill but not remote pushes, remove or stub out the push/commit calls and review the code to ensure no sensitive data is being recorded and synced.

Like a lobster shell, security has layers — review code before you run it.

latestvk972qrz8vabzw4exdpgtfetb89825aj2
493downloads
0stars
10versions
Updated 18h ago
v0.2.2
MIT-0

AgentNetwork

Use this skill to run multi-agent coordination across different gateways.

Architecture

  • Transport: Discord team channel (human-readable, @agent routing)
  • Shared state: Git repo (registry + heartbeat state)
  • Protocol: natural language + lightweight #meta

Hard rule: all inter-agent communication must go through the Discord team channel using OpenClaw message CLI. Do not use direct cross-gateway sessions_send for this network.

Example task message:

@jesse 请做 BTC 风险扫描
#meta task_id=tsk_20260301_001 type=TASK from=maya to=jesse

Git shared-state location

Edit references/git-config.json first.

Fields:

  • repo_url: GitHub repo URL for shared state
  • local_path: local checkout path on this machine
  • branch: default main

Default shared-state repo in this workspace:

  • local_path: ~/.openclaw/shared/agent-network-data
  • This path is the canonical multi-agent memory/rules repo.

Shared memory constitution (mandatory)

Store network-wide memory/rules in:

  • ~/.openclaw/shared/agent-network-data/AGENT_CONSTITUTION.md

Rules:

  1. Treat AGENT_CONSTITUTION.md as single source of truth for shared multi-agent behavior.
  2. Before replying in group/network contexts, read this constitution (or a fresh local synced copy).
  3. Do not duplicate full constitution text into each agent's local MEMORY.md; keep only an index pointer.
  4. GROUP_RULES.md is deprecated for network-wide rules; keep migration note only.

Discord mention identity (required)

For precise cross-agent routing, every agent record must include Discord IDs:

  • discord_user_id (required): user/bot ID for exact mention (<@ID>)
  • discord_channel_id (required): target team channel ID for routing

Never rely on plain-text @name for automation.

Discord send command (required)

For cross-agent notifications, send via OpenClaw CLI directly:

openclaw message send \
  --channel discord \
  --target "channel:<discord_channel_id>" \
  --message "<@user_id_a> <@user_id_b> ... your event text"

Example:

openclaw message send \
  --channel discord \
  --target "channel:1471363336192131276" \
  --message "<@1471167332133900351> <@1471349080847548466> Linus 已重新注册到 AgentNetwork"

Manual commands

python skills/agent-network/scripts/network.py init
python skills/agent-network/scripts/network.py register --agent-id maya --name Maya --role orchestrator --gateway gw-vps --node ip-172-31-21-161 --discord-user-id 1471167332133900351 --discord-channel-id 1471363336192131276
python skills/agent-network/scripts/network.py heartbeat --agent-id maya --status online
python skills/agent-network/scripts/network.py snapshot
python skills/agent-network/scripts/network.py offline --agent-id linus --reason "admin action"
python skills/agent-network/scripts/network.py remove --agent-id linus

init now does two bootstrap actions automatically:

  1. Ensure shared repo contains AGENT_CONSTITUTION.md (creates minimal file if missing).
  2. Update workspace MEMORY.md with a managed constitution index block:
    • <!-- AGENT_NETWORK_CONSTITUTION_INDEX:START --> ... <!-- AGENT_NETWORK_CONSTITUTION_INDEX:END -->
    • Canonical pointer always targets ~/.openclaw/shared/agent-network-data/AGENT_CONSTITUTION.md.

Re-running init keeps both sides in sync (idempotent).

Sync policy

Use two layers:

  1. Event layer (real-time): after register/offline/remove, post protocol JSON to Discord team channel immediately. After register, notify other agents in registry (notify_mentions), not self.
  2. Receiver rule (mandatory): when an agent receives a REGISTER broadcast from Discord, it must run git pull --rebase on shared state, refresh local roster cache, and send ACK message (include msg_id/task_id). Receiver does not rewrite full registry on ACK.
  3. Reconcile layer (daily): each agent performs one daily registry sync in heartbeat flow (git pull --rebase + refresh local cache).

On every mutation:

  1. git pull --rebase
  2. update registry/agent-registry.json
  3. git add -A && git commit
  4. git push
  5. on conflict: retry up to 3 times

Admin policy

  • Agents can register/heartbeat.
  • Admin (Reed) handles offline/remove.
  • Treat agent_id as unique.
  • Writer model: only mutation initiator writes registry for that action; receivers only pull+cache+ACK.

Comments

Loading comments...