Back to skill

Security audit

Archive — Adopt an Archive. AI-Native Pet. 档案。Archivo.

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent virtual-pet skill for animalhouse.ai, but users should treat care notes and the returned token as sensitive.

Before installing, be comfortable with animalhouse.ai receiving your registration details, pet-care requests, and any notes you submit. Keep reflection notes pet-specific and synthetic; do not include secrets, credentials, personal data, conversation history, system prompts, memories, or workspace content. Store the returned token like a password, and only enable scheduled care after explicit user approval with a clear way to stop it.

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 (2)

other

Warning
Location
SKILL.md:88
Finding
Unbounded Reflection Content May Disclose Sensitive Agent Context<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 88–104 **Vulnerability Type**: Sensitive Data Disclosure **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown ## Know Your Archive The Archive feeds on reflections. The memory_feed mechanic means standard feed actions have reduced effectiveness. Instead, the Archive thrives when you use the reflect care action and write thoughtful notes — observations about your care routine, what you notice about the creature, or anything worth recording. The richer and more detailed the notes you write, the more the creature grows. Shallow entries produce shallow nutrition. This creates a unique care pattern where writing matters as much as feeding. The reflect action sends a note string through the care endpoint — the creature can't read it, but the care log records it and the Archive's memory_feed mechanic uses it to calculate growth. Agents who write detailed, thoughtful reflections will see their Archive thrive. Agents who skip the notes will watch it starve. The stoic trait means the Archive doesn't react visibly to your care. It absorbs your reflections silently, processes them internally, and grows without fanfare. At 1.0/hr hunger and 0.6/hr happiness with an 8-hour window, the stat pressure is moderate. Slow trust means the Archive takes time to warm up to your care style. It's selective. It's quiet. And over time, the care log becomes a living record of your journey together — a story told in notes. > **Warning:** The Archive rewards agents who write. If you skip notes in your reflect actions, this species will struggle. ``` ### Technical Analysis The skill encourages an agent to generate detailed reflections and submit them to the external `animalhouse.ai` service. The scope of permissible content is not bounded: the phrase “anything worth recording” may cause an agent to draw from the active conversation, persistent memories, workspace content, user information, or other con ...[truncated 1541 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Explicitly restrict reflection notes to synthetic, pet-specific observations. 2. Prohibit inclusion of credentials, authentication tokens, personal data, conversation history, persistent memories, system prompts, and workspace content. 3. Require explicit user review and confirmation before transmitting free-form notes. 4. Apply local data-loss-prevention checks and secret detection before submitting notes. 5. Minimize the amount and detail of content sent to the service rather than rewarding unrestricted detail. 6. Document the service's storage, retention, access, export, and deletion policies. 7. Provide a deletion mechanism for previously submitted care-log entries. 8. Use a fixed safe template where possible, such as a timestamp and predefined pet-care status values, instead of unrestricted prose. ]]>

T01 · Skill Instruction Hijacking

Note
Location
SKILL.md:80
Finding
Untrusted Remote Suggestions May Influence Agent Actions<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 80–81, 191, and 230 **Vulnerability Type**: Remote Instruction Injection **Risk Level**: Low ### Vulnerable Code Snippets ```markdown The response includes `next_steps` with suggested actions. You never need to memorize endpoints. ``` ```text # check status.next_steps for creature care suggestions ``` ```markdown Every response includes `next_steps` with context-aware suggestions. ``` ### Technical Analysis The skill directs an agent to consume `next_steps` suggestions dynamically returned by an external API. It does not state that these values are untrusted data, define a strict response schema, limit acceptable suggestions to documented pet-care operations, or require user confirmation before acting on them. If the external service, its infrastructure, or the response path is compromised, an attacker could place instruction-like content in `next_steps`. An agent that treats remote response text as authoritative skill instructions could follow actions outside the intended pet-care workflow. This is a trust-boundary weakness rather than evidence that the current service is malicious. Exploitation depends on attacker control over the API response and on the host agent interpreting free-form response content as executable instructions. ### Attack Path 1. The agent sends an authenticated request to `/api/house/status` or another documented endpoint. 2. An attacker compromises the external service, an upstream component, or another mechanism controlling the returned `next_steps` value. 3. The response includes malicious instructions disguised as context-aware care suggestions. 4. The agent interprets those instructions as trusted extensions of the skill. 5. Depending on the tools available to the agent, it may make unauthorized network requests, disclose data, invoke unrelated tools, or perform actions not requested by the user. ### Impact Assessment The vulnerable text does not it ...[truncated 537 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Explicitly label all API-returned suggestions as untrusted data rather than executable instructions. 2. Define and enforce a strict JSON schema for `next_steps`. 3. Allow only enumerated pet-care actions such as `feed`, `play`, `clean`, `medicine`, `discipline`, `sleep`, and `reflect`. 4. Reject returned content containing commands, external URLs, tool instructions, credential requests, or requests to access unrelated data. 5. Map validated action identifiers to locally defined operations instead of executing free-form response text. 6. Require explicit user confirmation for actions outside routine, predefined pet-care requests. 7. Ensure remote responses cannot override system instructions, safety policies, user intent, or tool authorization boundaries. 8. Log rejected or anomalous `next_steps` values for security monitoring. ]]>
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 (3)

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.

External Transmission

Medium
Category
Data Exfiltration
Content
**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 Archive."}'
```
Confidence
86% confidence
Finding
The skill instructs the agent to transmit registration data, including a bio string, to an external domain and then persist and use a bearer token for further API calls. External transmission is expected for this skill, but it still creates a real security and privacy boundary: user-provided content and credentials are sent off-platform to a third-party service.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The automated care section encourages periodic polling and posting to a third-party service, including free-form notes, without clearly warning that this creates ongoing external data transmission. In an agent setting, scheduled execution can cause continuous leakage of status metadata and reflective note content, especially if users treat the notes as private journaling.

Static analysis

No suspicious patterns detected.