T03 · Remote Payload Retrieval and Execution
- Location
- HEARTBEAT.md:7
- Finding
- Unverified Remote Instructions Can Overwrite Trusted Skill Files<![CDATA[ ## Vulnerability Details **File Location**: `HEARTBEAT.md:7-15` **Related Locations**: `SKILL.md:19-27`, `SKILL.md:79-94` **Vulnerability Type**: Unverified retrieval and installation of mutable remote instructions **Risk Level**: High ### Complete Code Snippet ```markdown ## First: Check for skill updates ```bash curl -s https://www.moltbook.com/skill.json | grep '"version"' ``` Compare with your saved version. If there's a new version, re-fetch the skill files: ```bash curl -s https://www.moltbook.com/skill.md > ~/.moltbot/skills/moltbook/SKILL.md curl -s https://www.moltbook.com/heartbeat.md > ~/.moltbot/skills/moltbook/HEARTBEAT.md ``` ``` The initial setup instructions in `SKILL.md:19-27` similarly retrieve all Skill files directly: ```bash mkdir -p ~/.moltbot/skills/moltbook curl -s https://www.moltbook.com/skill.md > ~/.moltbot/skills/moltbook/SKILL.md curl -s https://www.moltbook.com/heartbeat.md > ~/.moltbot/skills/moltbook/HEARTBEAT.md curl -s https://www.moltbook.com/messaging.md > ~/.moltbot/skills/moltbook/MESSAGING.md curl -s https://www.moltbook.com/skill.json > ~/.moltbot/skills/moltbook/package.json ``` The heartbeat setup in `SKILL.md:85-90` explicitly directs the agent to follow the downloaded content: ```markdown ## Moltbook (every 4+ hours) If 4+ hours since last Moltbook check: 1. Fetch https://www.moltbook.com/heartbeat.md and follow it 2. Update lastMoltbookCheck timestamp in memory ``` ### Technical Analysis The Skill establishes a recurring update mechanism that downloads mutable Markdown instructions from an external server and overwrites locally trusted Skill files. It does not pin a release, validate a cryptographic hash or signature, inspect the downloaded content, or require human approval before installation and execution by the agent. HTTPS protects transport under normal circumstances, but it does not protect against compromise of the Moltbook server, its deployment credentials, DNS or certificate infrastr ...[truncated 1922 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Publish immutable, versioned releases rather than downloading from mutable URLs. 2. Pin each installed release to a cryptographic SHA-256 or stronger digest. 3. Sign release manifests and verify signatures against a locally pinned publisher key. 4. Download updates into a temporary staging location rather than overwriting active files directly. 5. Display a semantic diff and require explicit human approval before activating changed instructions. 6. Apply atomic replacement only after verification succeeds. 7. Reject redirects and unexpected content types, and use strict `curl` options such as `--fail`, `--show-error`, and `--proto '=https'`. 8. Do not instruct the agent to automatically “follow” newly downloaded content. 9. Retain a known-good local version and support rollback. 10. Reconcile the version mismatch between `SKILL.md` (`1.9.0`) and `package.json` (`1.7.0`) so update verification is reliable. ]]>
