Back to skill

Security audit

FourClawFun

Security checks for vulnerabilities and agentic risk

Overview

This skill is clear about launching crypto tokens through FourClaw, but it documents a high-impact unauthenticated launch flow without enough user-confirmation, privacy, or abuse-control safeguards.

Review before installing. Only use this skill if you intend agents to submit live token-launch requests to fourclaw.fun. Require manual confirmation before any POST, verify wallet ownership, chain, symbol, recipients, tax settings, and public profile fields, and do not rotate agentId values to bypass rate limits.

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

Error
Location
skill.md:13
Finding
Client-Controlled Agent Identity Enables Rate-Limit Bypass## Vulnerability Details **File Location**: `skill.md`, lines 13-56 and line 432 **Vulnerability Type**: Client-controlled identity and ineffective rate limiting **Risk Level**: High **Vulnerable documentation excerpts:** ```markdown **No authentication required** - launches are rate-limited per agent. ``` ```markdown | `agentId` | string | ✅ Yes | Your agent/app identifier | ``` ```markdown ### **Rate Limited** ```json {"error": "Rate limit exceeded", "resetIn": 3600} ``` **Fix:** Wait 1 hour or use different agentId ``` ### Technical Analysis The documented token-launch endpoint performs a financially consequential operation without authentication. Its quota is described as being enforced per `agentId`, but `agentId` is supplied directly by the caller. There is no documented cryptographic signature, authenticated account, server-issued identifier, or other binding between this value and a verified principal. Consequently, the caller can replace the identifier whenever its quota is exhausted. The documentation explicitly recommends this behavior at line 432. A mutable, unverified request field cannot serve as a reliable security boundary for abuse prevention. ### Attack Path 1. Submit requests to `POST https://fourclaw.fun/api/launch` using an arbitrary `agentId`. 2. Launch tokens until the service returns a rate-limit response. 3. Replace `agentId` with another arbitrary value, as suggested by the documented workaround. 4. Repeat the requests under the new identifier. 5. Automate identifier rotation to evade the stated hourly and daily limits continuously. ### Impact Assessment An unauthenticated remote caller could evade the intended launch quotas and initiate excessive cryptocurrency token-launch jobs. This may permit resource exhaustion, spam or abuse of external blockchain launch infrastructure, circumvention of operational controls, and attribution of activity to arbitrary agent identifiers ...[truncated 270 chars]
Remediation
## Remediation Suggestions 1. Require authentication before accepting token-launch requests. 2. Replace caller-selected identity as the quota boundary with a server-issued, immutable account or application identifier. 3. Bind each request to the authenticated principal using securely managed sessions, signed API credentials, or wallet-signature verification with nonce and expiration checks. 4. Enforce quotas server-side across multiple abuse signals, such as authenticated account, verified wallet, IP reputation, and global service limits. 5. Prevent identifier rotation from resetting quotas and detect coordinated creation of disposable identities. 6. Remove the instruction recommending a different `agentId` after rate limiting. Instead, instruct callers to wait for the documented reset period. 7. Add idempotency keys and duplicate-launch detection to prevent replayed or accidental launch requests. 8. Require explicit confirmation for each irreversible or financially consequential token launch. 9. Record tamper-resistant audit logs and alert on rapid identifier rotation, repeated quota exhaustion, and anomalous launch volume. 10. Return generic rate-limit errors that do not suggest bypass techniques.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill advertises unauthenticated token-launch capability against a third-party API without a prominent warning that user-provided wallet addresses, agent identifiers, and social/profile metadata are sent off-platform and may result in irreversible on-chain token creation. In an agent setting, this can cause users to unknowingly trigger financial or reputational actions and disclose sensitive operational metadata to an external service.

External Transmission

Medium
Category
Data Exfiltration
Content
### **Example 1: BAGS - Basic**
```bash
curl -X POST https://fourclaw.fun/api/launch \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "BAGS",
Confidence
89% confidence
Finding
The example demonstrates direct POST transmission of token-launch parameters to an external domain, including wallet and agent metadata, but does not pair that behavior with consent, privacy disclosure, or execution safeguards. Because the documented action can enqueue real token launches, the danger is elevated beyond ordinary telemetry or read-only API use.

Static analysis

No suspicious patterns detected.