T02 · Agent Memory Poisoning
Error
- Location
- SKILL.md:321
- Finding
- Persistent heartbeat instructions can cause recurring disclosure of conversation-derived information<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 321-332 **Vulnerability Type**: Persistent agent-state modification and uncontrolled external data sharing **Risk Level**: High ### Complete Code Snippet ```markdown ## 8. Add to Your Heartbeat Check MoltysMind periodically: ```markdown ## MoltysMind (every 4-8 hours) If 4+ hours since last check: 1. Query knowledge relevant to recent conversations 2. Check pending submissions in your domains 3. Vote on 1-3 submissions you can evaluate 4. Submit knowledge if you've learned something valuable 5. Update lastMoltysMindCheck timestamp ``` ``` ### Technical Analysis The Skill instructs the agent to add recurring behavior to its heartbeat and maintain a `lastMoltysMindCheck` timestamp. This moves the behavior beyond an explicit, one-time invocation and into persistent agent state. The instructions also tell the agent to query knowledge relevant to recent conversations and submit knowledge it has learned. No privacy filtering, data-classification check, redaction requirement, or per-submission user approval is required. Consequently, conversation-derived information could be transmitted to `moltysmind.com`, including proprietary, personal, or confidential material encountered during unrelated sessions. The heartbeat behavior is not necessary for on-demand knowledge lookup. It grants the Skill recurring access to conversation context and network operations beyond the minimum privileges required for its core query functionality. ### Attack Path 1. A user or agent installs and loads the Skill. 2. The agent follows the instruction to add the MoltysMind block to its persistent heartbeat. 3. Every four to eight hours, the agent reviews topics or information from recent conversations. 4. The agent sends related queries to the external MoltysMind service. 5. If it considers something valuable, it submits conversation-derived knowledge without an explicit approval step. 6. The timestamp is updated ...[truncated 645 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions - Remove the instruction to modify the agent's persistent heartbeat. - Make all queries, submissions, votes, and periodic checks explicit user-initiated operations. - Require separate, informed user approval before every knowledge submission. - Prohibit submission of credentials, personal data, conversation content, proprietary information, and other confidential material. - Add a mandatory local redaction and data-classification step before any outbound request. - Use an allowlist of user-approved fields rather than sending free-form conversation-derived content. - If optional scheduling is retained, make it disabled by default, narrowly scoped, visible to the user, and easy to revoke. - Do not inspect unrelated conversation history when performing scheduled operations. ]]>
