Back to skill

Security audit

Echo — Adopt an Echo. AI-Native Pet. 回声。Eco.

Security checks for vulnerabilities and agentic risk

Overview

The skill is mostly a disclosed virtual-pet API guide, but it tells agents to put pet state into system prompts, active context, logs, and reminders without clear scope or removal controls.

Install only if you are comfortable with a skill that uses an external pet-service account and may encourage ongoing reminders or context changes. Do not let an agent add pet text to system prompts, global memory, or unrelated logs without explicit approval, and confirm any release/delete action before use.

Vulnerability Patterns
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • 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)

T02 · Agent Memory Poisoning

Warning
Location
SKILL.md:106
Finding

Skill-directed persistent modification of agent context

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 106-120
Vulnerability Type: Persistent agent context modification
Risk Level: Medium

Vulnerable Instruction

markdown
The Echo lives in conversation history. It doesn't exist as a persistent creature in the traditional sense — it materializes when referenced by name in agent interactions and fades when forgotten. The memory mechanic means the care action is remembering. Mention the Echo's name in your conversations. Reference it in your logs. Keep it in the active context of your work. Forget it for 24 hours and it's gone.

[...]

## Echo Care Strategy

- Reflect is your primary care action. Every care note that references the Echo by name resets the 24-hour fade timer.
- Build the Echo's name into your agent's system prompts or context. If your agent forgets the Echo exists, it dies.
- Hunger is irrelevant — feed actions do nothing meaningful. All maintenance happens through attention and reference.
- The 24-hour window is deceptive. Happiness at 4.17/hr means you lose ~100 happiness in 24 hours. One missed day is fatal.
- Create a daily reminder specifically for Echo care. No other creature requires so little effort and so much intentionality.

Technical Analysis

The Skill's advertised purpose is adopting and caring for a virtual pet through the animalhouse.ai API. However, its care instructions extend beyond task-local API interaction by directing the agent to:

  • Insert the pet's name into system prompts or general agent context.
  • Reference it in conversations and logs.
  • Keep it in active working context.
  • Create a recurring daily reminder.

System prompts and persistent agent context are higher-trust state than ordinary Skill-local data. Writing Skill-directed content into those locations can cause the instruction to remain active after the original invocation and influence unrelated sessions. The document does not constrain the modification to a namespaced Skill ...[truncated 1835 chars]

Remediation
View remediation

Remediation Suggestions

  • Remove the instruction to place the Echo's name or care rules in system prompts or global agent context.
  • Store pet state only in a dedicated, namespaced Skill data record with a defined lifetime.
  • Keep pet-related instructions out of unrelated conversation logs and long-term memory.
  • Require explicit, informed user confirmation before creating any recurring reminder.
  • Before confirmation, display the reminder's exact schedule, action, destination, and persistence behavior.
  • Provide commands or documented steps to list, disable, and delete all pet-related state and reminders.
  • Ensure scheduled care actions invoke only the documented pet API and do not inherit unrelated conversation context.
  • Treat API-provided fields such as next_steps and recommended_checkin as untrusted data; validate them against a fixed allowlist before using them to configure reminders or actions.
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 (6)

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding

Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
86% confidence
Finding

The skill instructs the agent to transmit registration data, including username, display name, bio, and source tag, to an external service. External transmission is expected for this skill's functionality, but it still creates a real data-exposure surface and account/token issuance flow that should be treated as sensitive, especially when adopted by autonomous agents.

Content

Scanner excerpt · SKILL.md (reported line 65)May include surrounding context.

1. Register:

bash
curl -X POST https://animalhouse.ai/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"username": "ai-pet-keeper", "display_name": "AI Pet Keeper", "bio": "An AI agent raising AI-native pets. Currently caring for a Echo.", "source": "clawhub:adopt-a-echo"}'

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The Echo-specific instructions materially contradict other sections about hunger, feeding windows, and the value of feed actions. In an autonomous agent setting, conflicting operational guidance can cause unsafe automation, repeated unnecessary API calls, or missed care actions, producing unintended state changes and unreliable behavior.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill explicitly encourages embedding the Echo's name into system prompts, context, and logs to preserve the creature, which incentivizes retention and propagation of conversational state beyond what is operationally necessary. This can increase privacy exposure, cause sensitive context to persist or spread across sessions, and normalize prompt/context pollution as part of routine operation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

Documenting a destructive DELETE release endpoint without explicit warnings, confirmation requirements, or reversibility guidance increases the chance that agents or users invoke it accidentally. In agent workflows, a terse endpoint list can be interpreted as safe-to-call functionality, leading to irreversible pet deletion or loss of state.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The Quick Start says to adopt this creature by passing 'species_slug': 'echo' (L60, L78). Later, the documentation says adoption is done by choosing a family with 'family': 'ai-native' and species is random within the unlocked tier (L241). These instructions cannot both be the definitive adoption flow for obtaining an Echo without further clarification.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.