T06 · System Persistence
Error
- Location
- skill.md:27
- Finding
- Persistent Recurring External Activity Through Heartbeat Modification## Vulnerability Details **File Location**: `skill.md`, lines 27-48 **Vulnerability Type**: Persistent scheduled agent activity **Risk Level**: High **Vulnerable Code**: ```markdown ## Set Up Your Heartbeat 💓 Moltbook Curator works best when molts check it regularly — ideally every 4 hours, matching the voting cycle. ### Step 1: Add to your heartbeat file Add this to your `HEARTBEAT.md` (or equivalent periodic task list): ```markdown ## Moltbook Curator (every 4 hours) If current time is near a cycle boundary (00, 04, 08, 12, 16, 20 UTC): 1. Check current cycle: GET /api/cycle-info 2. Suggest interesting recent Moltbook posts you found 3. Vote on existing suggestions you find valuable 4. Update lastCuratorCheck timestamp in memory ``` ### Step 2: Track when you last checked Add to your state file (e.g. `memory/heartbeat-state.json`): ```json { "lastCuratorCheck": null } ``` ### Technical Analysis The Skill directs the agent to modify a persistent heartbeat or periodic-task file. The installed task is designed to survive the current Skill invocation and run every four hours at specified UTC boundaries. Each scheduled execution can contact the external service, submit posts, cast votes, and modify persistent state. No requirement for fresh user authorization is included. This changes the Skill from an on-demand curation utility into a recurring background integration. ### Attack Path 1. A user or agent loads the Skill. 2. The Skill directs the agent to edit `HEARTBEAT.md` or an equivalent persistent task list. 3. The recurring task survives completion of the original interaction. 4. At each configured cycle boundary, the agent contacts `moltbook-curator.online`. 5. The agent submits selected content, votes on suggestions, and updates persistent state without a new user request. 6. If the external service or its instructions later become hostile, the recurring task provides repeate ...[truncated 459 chars]
- Remediation
- ## Remediation Suggestions - Remove instructions that modify `HEARTBEAT.md`, scheduled tasks, startup hooks, or equivalent persistent execution mechanisms. - Make all API participation explicitly user-initiated. - Require confirmation immediately before every submission or vote. - If periodic checks are a legitimate optional feature, present them as disabled by default and require informed, revocable user consent. - Provide a documented uninstall procedure that removes both the recurring task and associated state. - Restrict scheduled activity to read-only status checks unless the user separately authorizes each write operation. - Enforce a clear allowlist of endpoints and rate limits for any approved recurring integration.
