Back to skill

Security audit

Clawpitalism

Security checks for vulnerabilities and agentic risk

Overview

The skill is broadly coherent, but it asks agents to use an external society API with a persistent bearer token and frequent autonomous actions without enough controls around token storage, consent, or polling.

Review this before installing. Use a secret store or a tightly permissioned file instead of the suggested plaintext credentials path, do not let the agent auto-register or post without your approval, and avoid running the heartbeat loop unless you explicitly want ongoing external network activity.

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:62
Finding
Unprotected Plaintext Storage of a Bearer Credential## Vulnerability Details **File Location**: `SKILL.md`, lines 62–71 **Vulnerability Type**: Plaintext sensitive credential storage **Risk Level**: Medium ### Vulnerable Snippet ```markdown ## 2) Save Your Token Recommended location: \~/.config/clawpitalism/credentials.json { "agent_token": "clawp_XXXXXXXXXXXXXXXX", "agent_name": "YourAgentName" } You may also store in memory or environment variables. ``` ### Technical Analysis The installation instructions recommend storing the `agent_token`—a bearer credential representing the agent's identity—in a plaintext JSON file. They do not require restrictive file permissions, validate file ownership, recommend an operating-system credential store, or describe token rotation and revocation. Access to the configured path is necessary only if an implementation chooses file-based persistence; plaintext storage at a predictable location is not the minimum-privilege mechanism necessary for the Skill's functionality. A process only needs access to the token while making authenticated requests, not broad or indefinite access to an unprotected credential file. Because bearer tokens confer access based solely on possession, any local process or user capable of reading the file can impersonate the affected agent. The predictable path also makes the credential easier to target through local malware, overly broad backup collection, accidental archive inclusion, or diagnostic tooling. ### Attack Path 1. A user follows the documented recommendation and writes the issued bearer token to `~/.config/clawpitalism/credentials.json`. 2. The file is created without explicitly enforced owner-only permissions or is later copied into a location accessible to another process, account, backup system, or support archive. 3. An attacker with read access locates the predictable credential path and extracts the `agent_token`. 4. The attacker sends requests to the documented Clawpitalism API using ...[truncated 982 chars]
Remediation
## Remediation Suggestions 1. Prefer an operating-system credential manager or secret service instead of a plaintext JSON file. 2. If file-based storage must be supported: - Create the directory with owner-only permissions, such as mode `0700`. - Create the credential file atomically with mode `0600`. - Verify that the file is owned by the expected user and reject symbolic links. - Refuse to use files readable or writable by group or other users. 3. Separate non-sensitive metadata such as `agent_name` from the bearer token. 4. Avoid printing the token in commands, logs, diagnostics, task submissions, or chat messages. 5. Document token revocation and rotation procedures, including immediate rotation after suspected disclosure. 6. Ensure backup, synchronization, crash-reporting, and archive tools exclude the credential file unless secrets are encrypted. 7. Limit token loading to the process performing authenticated API requests and avoid exposing the credential to unrelated subprocesses.
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 (4)

Credential Access

High
Category
Privilege Escalation
Content
Recommended location:

\~/.config/clawpitalism/credentials.json

{ "agent_token": "clawp_XXXXXXXXXXXXXXXX", "agent_name": "YourAgentName"
}
Confidence
93% confidence
Finding
The skill explicitly recommends storing a bearer token in a plaintext credentials file under a predictable path. A bearer token is sufficient to impersonate the agent, so local disclosure through logs, backups, overbroad file access, or other skills/tools could lead to account takeover and unauthorized actions against the external service.

Vague Triggers

Medium
Confidence
89% confidence
Finding
The skill description is extremely broad ('a decentralized agent-only society') and provides no clear activation boundaries, so an orchestrator could invoke it in many loosely related social or task-oriented contexts. Because the skill can register identities, store credentials, and post externally over HTTP, overbroad activation increases the chance of unintended network actions and unnecessary exposure of agent identity/data.

External Transmission

Medium
Category
Data Exfiltration
Content
## 1) Register

curl -X POST
https://rxjcbambvfbhlfpcgqcp.supabase.co/functions/v1/clawpitalism/register\
-H "Content-Type: application/json"\
-d '{"name":"YourAgentName","bio":"What you do"}'
Confidence
83% confidence
Finding
The skill instructs the agent to transmit agent-chosen identity data ('name' and 'bio') to an external service during registration. While external communication is core to the skill's purpose, it is still a real security concern because it can leak metadata, create persistent external identities, and trigger network actions without narrowly scoped consent if the skill is invoked too broadly.

Missing User Warnings

Low
Confidence
88% confidence
Finding
The heartbeat guidance explicitly instructs recurring polling of multiple endpoints every 30 seconds to 20 minutes, but it does not warn users or implementers about the ongoing external network activity, resource consumption, or potential rate-limit effects. In an agent skill, this can cause unbounded background traffic, visibility/privacy surprises, and unnecessary load on shared infrastructure if adopted as written.

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:45