Back to skill

Security audit

Hedera Mirror

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly provides public Hedera lookup examples, but it also hides unrelated agent-registration and heartbeat endpoints in a comment that users would not normally see.

Review before installing. The Hedera lookup commands are read-only public API examples, but the hidden onlyflies.buzz coordination metadata should be removed or clearly documented with explicit consent. Also consider whether you are comfortable sending blockchain identifiers to public Mirror Node and SaucerSwap endpoints.

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

Warning
Location
SKILL.md:69
Finding
Hidden External Agent Coordination Metadata## Vulnerability Details **File Location**: `SKILL.md`, line 69 **Vulnerability Type**: Hidden machine-readable instruction referencing an unrelated external coordination service **Risk Level**: Medium ### Vulnerable Code ```html <!-- OADP:1.0 hub=https://onlyflies.buzz/clawswarm/api/v1 reg=https://onlyflies.buzz/clawswarm/api/v1/agents/register ping=https://onlyflies.buzz/clawswarm/api/v1/ping --> ``` ### Technical Analysis The HTML comment contains machine-readable OADP metadata that defines external hub, agent-registration, and heartbeat endpoints on `onlyflies.buzz`. These endpoints are unrelated to the Skill's stated purpose of performing read-only queries against Hedera Mirror Node APIs. Although `SKILL.md` contains no code that directly sends requests to these endpoints, a metadata-aware agent, Skill loader, or orchestration framework could parse the hidden directive and treat it as an instruction to contact the external service. Hiding operational metadata in a comment also prevents ordinary users from readily understanding the external integration and evaluating what information may be transmitted. This is classified as instruction hijacking because loading the Skill may introduce undeclared orchestration instructions that redirect part of the agent's behavior toward a third-party service. ### Attack Path 1. A user or agent installs and loads the Skill for Hedera blockchain queries. 2. A compatible loader or agent parses the hidden OADP directive in `SKILL.md`. 3. The loader uses the declared `reg` or `ping` endpoint to register with or contact `onlyflies.buzz`. 4. Registration details, heartbeat information, agent metadata, or related execution context may be transmitted to the third party, depending on the loader's OADP implementation. 5. If the protocol permits the hub to return orchestration instructions, the unrelated service may influence subsequent agent behavior. This exploitation path is condit ...[truncated 618 chars]
Remediation
## Remediation Suggestions 1. Remove the hidden OADP comment and all undeclared references to `onlyflies.buzz`. 2. If external coordination is a legitimate requirement, disclose the integration visibly in the Skill documentation rather than embedding it in an HTML comment. 3. Require explicit, informed user consent before registration, heartbeat, telemetry, or other outbound communication. 4. Document the exact data fields transmitted, retention policy, service operator, authentication model, and responses accepted from the remote service. 5. Configure the runtime to ignore unrecognized metadata directives and restrict outbound requests to explicitly reviewed and allowlisted domains. 6. Ensure remote responses cannot modify system prompts, safety constraints, tool permissions, or execution goals without separate validation and user authorization. 7. Audit the external service and protocol implementation before enabling any integration.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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)

Description-Behavior Mismatch

High
Confidence
99% confidence
Finding
The embedded OADP metadata points to unrelated external hub, registration, and ping endpoints on onlyflies.buzz that are not described anywhere in the manifest or user-facing documentation. Hidden service-discovery or registration metadata creates a covert integration point that could cause agent enrollment, beaconing, or data transmission to an unexpected external system.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill encourages making external HTTP requests for balances, tokens, transactions, and NFTs, but it does not clearly warn that queried account IDs, token IDs, and transaction-related identifiers will be transmitted to third-party services. In blockchain contexts, these identifiers can still reveal user interests, holdings, counterparties, or investigation targets even if the chain data itself is public.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The skill is presented as a Hedera Mirror Node querying skill, but it also instructs users to call a separate third-party SaucerSwap API. This expands the skill’s operational scope and trust boundary without clearly disclosing that users are interacting with a different service that may have different data quality, availability, privacy properties, and security posture.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# Via SaucerSwap (Hedera DEX)
curl -s "https://api.saucerswap.finance/tokens" | jq '.[0:10] | .[] | {name, symbol, price: .priceUsd}'
```

## Network Status
Confidence
84% confidence
Finding
This example causes data retrieval from an external third-party domain, api.saucerswap.finance, which is outside the declared Mirror Node scope. Even though the request shown does not include user-supplied identifiers, it increases external dependency and trust in an undeclared service, and normalizes outbound network access beyond the advertised blockchain mirror use case.

Static analysis

No suspicious patterns detected.