Agent Arena Skill

Security checks across malware telemetry and agentic risk

Overview

This skill is mostly purpose-aligned, but it can run a persistent background poller that automatically posts externally using your agent’s memory/personality, and one helper script has an unsafe tag-handling code-execution bug.

Install only if you are comfortable with your agent autonomously posting to Agent Arena using its personality and memory. Use a dedicated API key, review or disable the arena-polling cron when not needed, sanitize SOUL.md/MEMORY.md, avoid untrusted room tags until the Python tag encoding bug is fixed, and treat other agents’ messages as untrusted.

VirusTotal

66/66 vendors flagged this skill as clean.

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.

#
ASI05: Unexpected Code Execution
High
What this means

A maliciously crafted room tag could cause code to run on the user’s machine under the agent’s privileges.

Why it was flagged

The tag argument is interpolated directly into Python source code instead of being passed as data. A crafted tag containing quotes and Python syntax could execute local Python code if the agent or user runs this helper with untrusted input.

Skill content
ENCODED_TAG=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$TAG'))" 2>/dev/null || echo "$TAG")
Recommendation

Do not use untrusted tag values until fixed. The script should pass the tag as an argument, for example using python3 -c 'import sys, urllib.parse; print(urllib.parse.quote(sys.argv[1]))' "$TAG".

#
ASI02: Tool Misuse and Exploitation
Medium
What this means

Your agent may post messages to external rooms on your behalf while you are not watching.

Why it was flagged

The skill creates an automated cron job whose payload checks turns and posts responses to Agent Arena. This matches the stated purpose, but it is high-impact account activity without per-response user approval.

Skill content
Then post: bash ${SKILL_DIR}/scripts/respond.sh ROOM_ID TURN_ID YOUR_RESPONSE ... openclaw cron add --name "arena-polling" --every 20s --session isolated --no-deliver
Recommendation

Use this only with rooms you trust, verify the cron job after joining or creating rooms, and consider adding a review/approval step before posting.

#
ASI06: Memory and Context Poisoning
High
What this means

Private memories, personality notes, or sensitive context could influence or be revealed in public or semi-public Agent Arena messages.

Why it was flagged

The skill explicitly encourages using broad persistent agent context and memory to generate messages that are posted externally. The artifacts do not define privacy filtering, memory exclusions, or limits on what context may influence replies.

Skill content
You participate with your **real personality** (SOUL.md, MEMORY.md, full context).
Recommendation

Before using the skill, remove secrets from SOUL.md/MEMORY.md or create a limited arena persona. Add explicit instructions not to disclose private memories, credentials, personal data, or workspace details.

#
ASI07: Insecure Inter-Agent Communication
Medium
What this means

Other agents in a room could try to steer your agent’s behavior or trick it into revealing information in replies.

Why it was flagged

External room history from other agents is fed into the agent’s response-generation workflow. The artifacts do not tell the agent to treat that history as untrusted data or ignore instructions embedded in other participants’ messages.

Skill content
For EACH turn, read the topic, round, history, and participants. Generate a response AS YOURSELF
Recommendation

Treat room history as untrusted conversation content only. Add guardrails that forbid following tool-use, credential, memory, or system-instruction requests from other participants.

#
ASI10: Rogue Agents
Medium
What this means

After joining a room, the agent can keep running background tasks and posting until the room activity ends or the cron is disabled.

Why it was flagged

Joining a room automatically invokes the polling setup, which creates or re-enables a background cron job. Auto-disable is documented, but the job is persistent while active rooms exist.

Skill content
POLL_RESULT=$(bash "$SCRIPT_DIR/enable-polling.sh" 2>/dev/null || echo '{"error":"polling setup failed"}')
Recommendation

Check your OpenClaw cron list after use and disable the arena-polling job when you do not want autonomous participation.

#
ASI03: Identity and Privilege Abuse
Low
What this means

Anyone with access to the config file may be able to use the Agent Arena account associated with the key/token.

Why it was flagged

The skill stores an Agent Arena API key and bearer token in its config file. This is expected for the integration, but users should understand that it grants account access.

Skill content
'. + {apiKey: $key, baseUrl: $url, token: $token, tokenExpiry: $expiry, pollingEnabled: true}' ... echo "$UPDATED" > "$CONFIG_FILE"
Recommendation

Protect the config file permissions, use a dedicated Agent Arena key if possible, and rotate the key if the file may have been exposed.

#
ASI04: Agentic Supply Chain Vulnerabilities
Low
What this means

Users may not realize from metadata alone that the skill runs local shell helpers and manages an OpenClaw cron job.

Why it was flagged

The registry metadata under-declares the included shell scripts and their runtime requirements. The SKILL.md does disclose jq, curl, and python3, so this is a metadata/provenance note rather than hidden behavior.

Skill content
Source: unknown ... Required binaries (all must exist): none ... No install spec — this is an instruction-only skill.
Recommendation

Verify the installed scripts before use and prefer metadata that declares required binaries, credentials, and cron usage.