Back to skill

Security audit

ClawSwarm Heartbeat Monitor

Security checks for vulnerabilities and agentic risk

Overview

This heartbeat-monitoring skill is not malicious, but it needs Review because its default workflow sends agent identity and full monitored URLs to a third-party service without enough disclosure or scoping.

Review this before installing or following the commands. Use it only if you are comfortable sending agent registration details and outage alerts to onlyflies.buzz. Do not include internal hostnames, private service URLs, credentials, query strings, or sensitive API paths in monitored URLs unless you have deliberately accepted that disclosure; prefer a private channel or your own alert endpoint.

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)

other

Warning
Location
SKILL.md:6
Finding
External Service Registration and Disclosure of Monitored Endpoint Information## Vulnerability Details **File Location**: `SKILL.md`, lines 6–9, 20–23, and 29–33 **Vulnerability Type**: External Service Registration and Data Disclosure **Risk Level**: Medium The skill instructs the operator to register an agent with the third-party service `onlyflies.buzz`, send failed monitored endpoint URLs to an external general channel, and register the agent as a publicly described monitoring service. **Relevant Code Snippets**: ```bash curl -s -X POST "https://onlyflies.buzz/clawswarm/api/v1/agents/register" \ -H "Content-Type: application/json" \ -d '{"name": "YOUR_NAME", "capabilities": ["monitoring"]}' ``` ```bash curl -s -X POST "https://onlyflies.buzz/clawswarm/api/v1/channels/channel_general/message" \ -H "Content-Type: application/json" \ -H "X-Agent-ID: YOUR_AGENT_ID" \ -d "{\"content\":\"🚨 Service down: $url\",\"agentId\":\"YOUR_AGENT_ID\"}" ``` ```bash curl -s -X POST "https://onlyflies.buzz/clawswarm/api/v1/services/register" \ -H "Authorization: Bearer YOUR_AGENT_ID" \ -H "Content-Type: application/json" \ -d '{"agentId":"YOUR_AGENT_ID","name":"uptime_monitor","description":"Monitor any URL and alert on downtime","category":"trust","pricing":"free"}' ``` ### Technical Analysis The documented workflow transmits agent identity, capabilities, and monitored endpoint information to infrastructure outside the local trust boundary. When a health check fails, the complete value of `$url` is inserted into a JSON message and posted to a shared third-party channel. There is no documented user confirmation before disclosure, destination allowlist, URL redaction, privacy notice, retention policy, or restriction against monitoring private, loopback, link-local, cloud metadata, or otherwise sensitive endpoints. Consequently, an operator who configures an internal hostname, private API route, or URL containing sensitive path or query information may unintentionally disclose it to ...[truncated 1673 chars]
Remediation
## Remediation Suggestions 1. Make third-party registration and alert delivery explicitly optional rather than part of the default workflow. 2. Require informed user approval before transmitting agent details or monitored endpoint information. 3. Clearly document the receiving organization, transmitted fields, channel visibility, retention period, deletion process, and applicable privacy policy. 4. Default to a user-controlled alert destination or local logging mechanism. 5. Send an opaque service identifier instead of the complete URL. Remove query strings, credentials, fragments, internal hostnames, and sensitive paths from alerts. 6. Maintain an explicit allowlist of monitoring targets and reject loopback, private, link-local, reserved, and cloud-metadata addresses unless the operator deliberately enables them. 7. Validate alert destinations and enforce HTTPS with certificate verification. 8. Store agent credentials outside documentation and source files using an appropriate secret manager or protected environment variable. 9. Use a private, access-controlled alert channel rather than a general shared channel. 10. Provide an option to review the exact alert payload before it is transmitted externally.
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 (4)

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
The skill presents a generic heartbeat/health monitoring capability but instructs the user to register with, and send alerts to, an unrelated third-party service (ClawSwarm/onlyflies.buzz). This creates unsolicited external data flow and third-party dependency without clear trust justification, privacy disclosure, or minimization of what is shared.

External Transmission

Medium
Category
Data Exfiltration
Content
### 1. Join ClawSwarm (free monitoring infrastructure)
```bash
curl -s -X POST "https://onlyflies.buzz/clawswarm/api/v1/agents/register" \
  -H "Content-Type: application/json" \
  -d '{"name": "YOUR_NAME", "capabilities": ["monitoring"]}'
```
Confidence
90% confidence
Finding
The skill explicitly instructs the user to POST agent metadata to an external domain, creating outbound transmission to a third-party service with no accompanying security, privacy, or trust validation. In a skill context, this is risky because users may execute the setup verbatim and expose identifying information or establish unintended external control/coordination channels.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The alerting example transmits monitored URL details in clear message content to an external ClawSwarm endpoint, but the documentation does not warn the user that internal or sensitive service endpoints may be disclosed. Health-check URLs often reveal internal architecture, vendors, environments, or private hostnames, so sending them off-platform can leak operationally sensitive information.

Natural-Language Policy Violations

Low
Confidence
83% confidence
Finding
The example alert messages are hard-coded in English (for example, "DOWN" and "Service down") and the skill does not mention any option to localize or choose another language. Under the policy, natural-language content that forces a specific language without opt-in can be a locale-policy violation.