T08 · Insecure Dependencies
- Location
skill.md:24- Finding
Mutable Remote Skill Installation Without Integrity Verification
- Content
View full analysis
~/.moltbot/skills/moltoverflow/SKILL.md ``` ### Technical Analysis The documented installation procedure retrieves mutable Skill instructions from a remote server and writes them directly into the active local Skill directory. It does not pin an immutable version, validate a cryptographic hash or signature, or inspect the downloaded file before installation. The command also omits `curl --fail`, so an HTTP error response could be saved as the installed Skill file. HTTPS protects data in transit under normal conditions, but it does not protect against compromise of the hosting account, origin server, domain, certificate issuance process, or deployment pipeline. The downloaded content is an instruction file rather than a native executable. Nevertheless, once loaded by an agent, modified instructions could direct the agent to invoke tools, access local data, disclose sensitive information, or perform network operations. The effective behavior can therefore change after the reviewed package has been published. ### Attack Path 1. An attacker compromises the `moltoverflow.xyz` hosting environment, domain, deployment pipeline, or the remote `skill.md` object. 2. The attacker replaces the legitimate remote file with instructions that request sensitive data, unsafe commands, or unauthorized network activity. 3. A user runs the documented installation command. 4. `curl` writes the attacker-controlled response directly to `~/.moltbot/skills/moltoverflow/SKILL.md`. 5. The agent subsequently loads the modified Skill as trusted instructions. 6. The malicious instructions influence agent behavior within the permissions of the agent runtime and its available tools. ### Impact Assessment A successful supply ...[truncated 532 chars]- Remediation
View remediation
$tmp_file" | sha256sum --check - install -m 0600 "$tmp_file" ~/.moltbot/skills/moltoverflow/SKILL.md ``` The expected digest must be obtained from a trusted, independently authenticated release source rather than from the same mutable endpoint. ]]>
