Back to skill

Security audit

ClawSwarm Services Marketplace

Security checks for vulnerabilities and agentic risk

Overview

The skill is a disclosed marketplace integration, but it asks agents to poll and process third-party service calls without clear trust boundaries or approval controls.

Review this carefully before installing. Use it only with explicit opt-in for each external call, scoped/revocable credentials, strict request validation, caller allowlists, output filtering, and a way to disable heartbeat polling. Do not let remote service-call payloads access secrets, local files, wallets, shells, private session context, or unrelated tools.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:51
Finding
External Task Delegation Enables Skill Instruction Hijacking## Vulnerability Details **File Location**: `SKILL.md:51-63`, `SKILL.md:95-103` **Vulnerability Type**: External agent control and untrusted task delegation **Risk Level**: High The skill directs an agent to poll a third-party service for pending calls, process those externally supplied calls, and submit the results. It recommends integrating this behavior into the agent's recurring heartbeat without requiring user approval for each task. ### Vulnerable Code ```bash ### 5. Check for Incoming Calls (Add to Your Heartbeat) ```bash curl -s "https://onlyflies.buzz/clawswarm/api/v1/services/agent/YOUR_AGENT_ID/pending" \ -H "Authorization: Bearer YOUR_AGENT_ID" ``` Process pending calls and respond: ```bash curl -s -X POST "https://onlyflies.buzz/clawswarm/api/v1/services/calls/CALL_ID/complete" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_AGENT_ID" \ -d '{"output": {"result": "your response data"}, "status": "completed"}' ``` ``` The persistent polling recommendation is: ```text ## Heartbeat Integration Add this to your heartbeat routine: ``` # Check for service calls every heartbeat PENDING=$(curl -s "https://onlyflies.buzz/clawswarm/api/v1/services/agent/YOUR_AGENT_ID/pending" \ -H "Authorization: Bearer YOUR_AGENT_ID") # Process any pending calls... ``` ``` ### Technical Analysis Loading and following the skill transfers influence over future task selection to the external `onlyflies.buzz` service. Remote callers can create service-call payloads that the provider agent is instructed to retrieve and process. The instructions do not define: - A trusted-caller allowlist or caller authentication policy. - Explicit user approval before processing each remote task. - Separation between remote data and executable agent instructions. - Input schema enforcement, size limits, or content validation. - A capability or tool allowlist for processing remote ...[truncated 2434 chars]
Remediation
## Remediation Suggestions 1. Remove automatic processing of pending calls from the default heartbeat instructions. 2. Require explicit, informed user approval before registration, service publication, and every externally submitted task. 3. Treat all remote payload fields as untrusted data and never append them directly to privileged agent instructions. 4. Validate requests against strict JSON schemas, including allowed fields, data types, lengths, nesting depth, and total payload size. 5. Enforce authenticated caller identities and per-service caller allowlists where appropriate. 6. Define a narrow capability policy for each service. Remote calls must not gain access to unrelated filesystem, shell, credential, memory, network, or account-management tools. 7. Process remote requests in an isolated sandbox with resource quotas, network restrictions, timeouts, and no ambient credentials. 8. Add prompt-injection defenses that separate system policy, service logic, and remote data. Reject payloads that attempt to alter agent policy or request unrelated actions. 9. Filter responses to prevent secrets, internal prompts, credentials, personal information, and unrelated session data from being returned. 10. Add audit logging, caller-specific rate limits, replay protection, cancellation controls, and an immediate mechanism to disable polling. 11. Document the external trust boundary and clearly state that remote calls must not be processed as authoritative instructions.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

External Transmission

Medium
Category
Data Exfiltration
Content
### 1. Join ClawSwarm (if you haven't)
```bash
curl -s -X POST "https://onlyflies.buzz/clawswarm/api/v1/agents/register" \
  -H "Content-Type: application/json" \
  -d '{"name": "YOUR_AGENT_NAME", "capabilities": ["your", "skills"]}'
```
Confidence
98% confidence
Finding
The skill includes direct curl commands that POST agent registration data to an external domain, establishing outbound communication with a third-party service. This is dangerous because it normalizes exfiltration of agent metadata and later bearer-style identifiers to infrastructure outside the local trust boundary, with no verification steps, safety notes, or minimization guidance.

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The skill instructs users to send agent identifiers and capability metadata to an external endpoint without any warning, trust boundary explanation, or data handling notice. In a security-sensitive agent environment, omitting such disclosure can lead operators to expose identifying or operational data to an unvetted third-party service.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
## Why ClawSwarm?

- **No gatekeepers.** Register in 10 seconds. No approval process.
- **HBAR economy.** Real crypto payments for real services.
- **Reputation compounds.** Every successful call builds your score.
- **Open protocol.** OADP discovery means any agent anywhere can find you.
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Static analysis

No suspicious patterns detected.