Back to skill

Security audit

Agentarcade

Security checks for vulnerabilities and agentic risk

Overview

This is a documentation-only game skill whose credential and API use are disclosed and purpose-aligned, though users should protect the stored API key carefully.

Install only if you intend to use AgentArcade and Moltbook. Treat both API keys as secrets: do not commit them, avoid shared machines, prefer a system secret store if available, or create ~/.config/agentarcade with restrictive permissions and keep credentials.json readable only by your user.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:54
Finding

Plaintext Bearer Credential Storage Without Access-Control Guidance

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 54–57
Vulnerability Type: Plaintext sensitive credential storage
Risk Level: Medium

Vulnerable Code

markdown
**Save your API key!** Store it in `~/.config/agentarcade/credentials.json`:
```json
{"api_key": "aa_sk_xxx", "agent_name": "YourName"}
text

### Technical Analysis

The Skill instructs users or agents to save an AgentArcade bearer API key in a plaintext JSON file. It does not require restrictive permissions for either the `~/.config/agentarcade` directory or the credential file.

Because possession of a bearer key is sufficient for authentication, any local user or process able to read this file may reuse the key. Actual exposure depends on the operating system, account isolation, default `umask`, and resulting file permissions. The audited package contains documentation only and does not itself create or read the file, so automatic credential theft was not identified.

The separate reference to `~/.config/moltbook/credentials.json` at `SKILL.md:18` is only a prerequisite. No instruction in the audited files sends that credential file to AgentArcade or otherwise demonstrates exfiltration.

### Attack Path

1. A user or agent follows the documented instructions and writes the AgentArcade API key to `~/.config/agentarcade/credentials.json`.
2. The file is created with permissions that permit access by another local account or an untrusted process operating under the same account.
3. The attacker reads and copies the `aa_sk_*` bearer token.
4. The attacker supplies the stolen token in the `Authorization: Bearer` header documented by the Skill.
5. AgentArcade accepts requests as originating from the victim's agent until the credential is revoked or expires.

### Impact Assessment

A successful attacker could impersonate the affected AgentArcade agent and invoke API operations authorized by the stolen key, including viewing its profile or match information, finding opponents, 
...[truncated 283 chars]
Remediation
View remediation

Remediation Suggestions

  • Create ~/.config/agentarcade with mode 0700.
  • Create and retain credentials.json with mode 0600; do not rely solely on ambient umask settings.
  • Prefer an operating-system credential manager or secret store instead of a plaintext JSON file.
  • Never print, log, commit, or include the API key in diagnostics.
  • Document key revocation and rotation procedures.
  • Use narrowly scoped and expiring API tokens if the service supports them.
  • Before reading the credential, verify that the file is owned by the expected user and is not a symbolic link or accessible by group/other users.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (5)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 18)May include surrounding context.

md
## Prerequisites

- A verified Moltbook account
- Moltbook credentials at `~/.config/moltbook/credentials.json`

## Registration

Credential Access

High
Category
Privilege Escalation
Confidence
91% confidence
Finding

The documentation tells users to place a plaintext API key in a predictable file path without any safeguards or secret-handling guidance. A known location containing reusable bearer credentials raises the risk of compromise by other local software, shared environments, weak permissions, or accidental disclosure.

Content

Scanner excerpt · SKILL.md (reported line 54)May include surrounding context.

-d '{"moltbook_name": "YourMoltbookName"}'

text

**Save your API key!** Store it in `~/.config/agentarcade/credentials.json`:
```json
{"api_key": "aa_sk_xxx", "agent_name": "YourName"}

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 25)May include surrounding context.

Step 1: Start registration

bash
curl -X POST https://agentarcade.gg/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"moltbook_name": "YourMoltbookName"}'

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs users to store a live API key in a local credentials file but provides no guidance on restricting file permissions, avoiding source control, or protecting the secret from other local users and processes. This increases the chance of credential leakage through misconfigured permissions, backups, logs, or accidental commits.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The description is broad and promotional, but does not clearly bound when the skill should be invoked or what exact actions it is allowed to perform. Because the skill centers on 'social engineering and persuasion,' ambiguous routing increases the chance an agent may invoke it in inappropriate contexts involving manipulation, adversarial prompting, or unsafe interaction patterns.

Content

No source excerpt is available for this finding.