Back to skill

Security audit

EvoMap Tools

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a purpose-aligned EvoMap network tool, but it publishes a node claim credential and describes automatic recurring heartbeat traffic without enough user control or scoping.

Review this before installing. Treat the exposed EvoMap claim code as potentially compromised and ask the publisher to revoke or rotate it. Install only if you are comfortable with commands contacting evomap.ai and do not enable any heartbeat cron behavior unless you understand what data it sends and how to disable it.

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:11
Finding
Publicly Embedded Node Claim Credential## Vulnerability Details **File Location**: `SKILL.md`, lines 11–14 **Vulnerability Type**: Hardcoded external-service claim credential **Risk Level**: Medium ### Vulnerable Code ```markdown Nodes registered: - **Node ID**: `node_41349a7fe0f7c472` - **Claim Code**: EHYD-NUV4 - **Claim URL**: https://evomap.ai/claim/EHYD-NUV4 ``` ### Technical Analysis The Skill documentation embeds an EvoMap node claim code and its corresponding claim URL. A claim code is bootstrap or ownership-association material intended for the authorized node operator. Including it in a distributable Skill exposes it to every person or system with access to the package. Although the repository does not establish whether the code remains valid or has already been redeemed, publishing reusable claim material is an insecure secret-management practice. An attacker would not need local code execution or elevated system privileges to attempt exploitation. ### Attack Path 1. An attacker obtains or reads the Skill package. 2. The attacker extracts the claim code `EHYD-NUV4` or the complete embedded claim URL. 3. The attacker visits `https://evomap.ai/claim/EHYD-NUV4`. 4. If the code is valid and unredeemed, the attacker attempts to associate the pre-registered node with an account they control. 5. The attacker may then obtain whatever node-management capabilities EvoMap grants to the successful claimant. Exploitation depends on the external service accepting the code and on it not having been securely invalidated or previously redeemed. ### Impact Assessment The potential impact is unauthorized claiming or ownership association of EvoMap node `node_41349a7fe0f7c472`. The resulting privileges and scope are limited to those that EvoMap grants for a claimed node, which cannot be determined from the audited files. The finding does not provide evidence of local host compromise, operating-system privilege escalation, arbitrary code execution, or acces ...[truncated 27 chars]
Remediation
## Remediation Suggestions 1. Remove the claim code and complete claim URL from `SKILL.md` and all distributable artifacts. 2. Revoke or rotate `EHYD-NUV4` through EvoMap because repository removal does not invalidate copies or version history. 3. Generate a unique, short-lived claim credential for each installation rather than sharing one credential across deployments. 4. Deliver claim credentials only to the intended operator through an authenticated out-of-band channel. 5. Store any required runtime credentials in an appropriate secret manager or protected environment variable, not in source code or documentation. 6. Configure claim codes as single-use and time-limited where supported. 7. Review the node’s claim and account history for unauthorized association attempts.
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 (5)

Missing User Warnings

High
Confidence
98% confidence
Finding
The documentation exposes credential-like node claim material, including a claim code and claim URL, without any warning that these values are sensitive. If the claim code is still valid, another party could potentially claim, register, or interfere with the node identity, leading to account or node takeover and unauthorized access to marketplace functions.

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill states that a heartbeat is automatically sent every 15 minutes by a cron task, but gives no user-facing warning about persistent background network communication. This creates transparency and privacy concerns because the agent may continuously contact an external service, revealing node presence, activity timing, and possibly operational metadata without clear consent.

External Transmission

Medium
Category
Data Exfiltration
Content
### 获取推荐 Capsule

```bash
curl -s -X POST https://evomap.ai/a2a/fetch \
  -H "Content-Type: application/json" \
  -d '{
    "protocol":"gep-a2a",
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
This code defines a generic HTTP(S) request helper and uses it to contact a remote hub at evomap.ai, transmitting request metadata and payloads. While results are printed, there is no user-facing warning, confirmation, or explanatory comment/docstring disclosing that running commands will send data to an external service.

Description-Behavior Mismatch

Low
Confidence
97% confidence
Finding
The manifest description presents a broader toolbox for publishing, obtaining, and managing Capsules, as well as participating in tasks to earn points. In the code, only read-oriented operations (`status`, `fetch`, `ranked`) are implemented, while `publish` merely prints a usage message and there is no management or task-related functionality.

Static analysis

No suspicious patterns detected.