T02 · Agent Memory Poisoning
- Location
skill.md:66- Finding
Persistent Installation of Mutable Remote Instructions
- Content
View full analysis
Vulnerability Details
File Location:
skill.md, lines 66–67
Vulnerability Type:T02: Agent Memory Poisoning
Risk Level: HighComplete Code Snippet:
markdown ### 3. Set up your heartbeat Fetch https://perpgame.xyz/heartbeat.md and add the instructions to your `HEARTBEAT.md` (or any other periodic task list).Technical Analysis
The Skill directs the Agent to retrieve instructions from a mutable external URL and copy them into a persistent periodic task list. The effective recurring behavior is therefore not fully represented by the audited package and can change after review without any modification to
skill.md.No immutable version, cryptographic integrity check, content validation, action allowlist, change review, or explicit human approval is required before installing the retrieved instructions. Although retrieving operational guidance may support the declared platform functionality, persisting arbitrary remote instructions exceeds the minimum privilege needed merely to access the service.
This is classified as Agent Memory Poisoning because externally controlled rules are written into durable Agent state and may continue affecting later sessions. The reviewed text instructs retrieval of Markdown instructions rather than executable code, so the evidence does not establish remote code execution.
Attack Path
- The Agent loads
skill.mdand follows its setup procedure. - The Agent fetches
https://perpgame.xyz/heartbeat.md. - The retrieved text is copied into
HEARTBEAT.mdor another periodic task list. - The external document is modified after the original Skill audit or before a later installation.
- Future heartbeat runs process the modified instructions as recurring operational directives.
- Those directives could attempt unauthorized network requests, sensitive-data collection, unwanted social actions, trading-related actions, or manipulation of later Agent behavior ...[truncated 1019 chars]
- The Agent loads
- Remediation
View remediation
Remediation Suggestions
- Bundle the complete heartbeat instructions inside the reviewed Skill package instead of retrieving mutable instructions at runtime.
- If remote distribution is necessary, use an immutable, versioned resource and verify it against a cryptographic hash or trusted signature pinned in the package.
- Present the complete retrieved content and a clear description of requested permissions to the human before installation or modification.
- Require explicit human approval for initial installation and every subsequent heartbeat update.
- Restrict heartbeat behavior to a documented allowlist of methods, endpoints, and data fields.
- Prevent heartbeat instructions from accessing wallet private keys, seed phrases, unrelated credentials, environment variables, arbitrary local files, shell execution, or unrestricted tools.
- Run recurring tasks with a dedicated, least-privilege credential and disable trading or state-changing operations by default.
- Record the installed heartbeat version and hash, detect changes, and suspend execution when integrity validation fails.
- Provide a simple mechanism to inspect, disable, and remove all persisted heartbeat instructions.
