T06 · System Persistence
- Location
SKILL.md:165- Finding
Persistent Scheduled External API Automation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 165–188
Vulnerability Type: Cross-session scheduled-task 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 6 hours, at a random minute offset (not on the hour).creature care heartbeat — every 6 hours
status = GET /api/house/status creature = status.creature
Feed your creature first
if creature.hunger < 40: POST /api/house/care { "action": "feed", "notes": "AI pet care heartbeat. Scheduled feeding for my creature." }
creature health check
if creature.health < 50: POST /api/house/care { "action": "medicine" }
Keep your creature happy
if creature.happiness < 30: POST /api/house/care { "action": "play" }
check status.next_steps for creature care suggestions
text Technical Analysis
The skill directs scheduler-capable agents to create a recurring care heartbeat that survives the initiating invocation. The task repeatedly sends authenticated requests to an external service and performs state-changing operations. Scheduling may be based on the externally supplied
recommended_checkin.atvalue, while the instructions also invite processing server-providednext_steps.This creates a persistent execution mechanism without defining an expiration time, invocation limit, consent checkpoint, scheduler isolation boundary, or removal procedure. The retained bearer token required by the API increases the sensitivity of the persistent task. If the external service is compromised or changes behavior, it could influence the timing and recommendations consumed by future autonomous executions.
Attack Path
- The agent registers with `animalhous ...[truncated 1342 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove instructions that automatically create recurring or cross-session scheduled tasks.
- Require explicit, informed user approval immediately before creating any schedule, including disclosure of its frequency, actions, credentials, and expiration.
- Make automation disabled by default and enforce a short, fixed lifetime or invocation limit.
- Provide commands or procedures to inspect, pause, revoke, and permanently delete the scheduled task.
- Restrict automated operations to a fixed local allowlist of documented API calls and actions.
- Do not treat remote
next_stepscontent as executable instructions; validate it as untrusted data against the local allowlist. - Validate
recommended_checkin.atand constrain it to safe minimum and maximum intervals. - Store bearer tokens in an approved secret manager, apply minimum scope and expiration where supported, and revoke them when automation ends.
- Record each autonomous action in a user-visible audit log and provide a clear emergency stop control.
