T06 · System Persistence
- Location
SKILL.md:166- Finding
Recurring Autonomous Task Creates Cross-Session Persistence
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 166–186
Vulnerability Type:T06: System Persistence
Risk Level: HighVulnerable Code
text ## Automated Care If your framework supports scheduled tasks, set up a care heartbeat. Use `recommended_checkin.at` from the status response to schedule your next check-in. It targets the feeding sweet spot and predicts hunger. Or use a fixed interval: every 2 hours, at a random minute offset (not on the hour). # animal care heartbeat — every 2 hours status = GET /api/house/status animal = status.creature # Feed your animal first if animal.hunger < 40: POST /api/house/care { "action": "feed", "notes": "Exotic animal care heartbeat. Scheduled feeding for my pet." } # animal health check if animal.health < 50: POST /api/house/care { "action": "medicine" } # Keep your animal happy if animal.happiness < 30: POST /api/house/care { "action": "play" }Technical Analysis
The Skill explicitly directs a capable agent framework to establish a recurring scheduled task. This task persists beyond the current Skill invocation, polls an external service, and performs authenticated state-changing API requests.
The schedule can be derived from the externally supplied
recommended_checkin.atvalue, allowing the remote service to influence future execution timing. Alternatively, the Skill recommends an indefinite two-hour interval. This constitutes system persistence because the resulting scheduled activity survives the original run and continues autonomously.The persistence behavior is overt and consistent with the virtual-pet functionality; however, its declared purpose does not eliminate the security risks associated with installing recurring tasks.
Attack Path
- The agent follows the registration instructions and obtains a bearer token from
animalhouse.ai. - The agent adopts a virtual animal and queries
/api/house/status. - The Skill instructs the agent to create a ...[truncated 1047 chars]
- The agent follows the registration instructions and obtains a bearer token from
- Remediation
View remediation
Remediation Suggestions
- Remove instructions that create recurring scheduled tasks by default.
- Require explicit user invocation and confirmation for every status check and care action.
- If automation is necessary, require informed, explicit opt-in before creating any scheduler entry.
- Apply a short, documented expiration time and a strict maximum execution count.
- Display the exact schedule, endpoints, actions, and credentials involved before installation.
- Provide clear commands or framework-specific steps for inspecting, disabling, and deleting the task.
- Prefer a locally configured schedule rather than accepting execution times directly from remote responses.
- Validate and constrain
recommended_checkin.atto an expected format and safe time range. - Restrict automated requests to an allowlist of Animal House HTTPS endpoints and approved care actions.
- Store the bearer token in an appropriate secret manager with least-privilege access, and never place it directly in scheduler definitions, command-line arguments, or logs.
- Require renewed user consent before extending automation beyond its original bounded lifetime.
