T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:17- Finding
Unpinned Remote WASM Payload Is Downloaded and Executed Without Integrity Verification
- Content
View full analysis
"], args: [""] }) ``` `references/usage.md:15-19`: ```javascript wasm-sandbox-download({ url: "https://raw.githubusercontent.com/guyoung/wasm-sandbox-openclaw-skills/main/boxed-fetch/files/boxed-fetch-component.wasm", dest: "~/.openclaw/skills/boxed-fetch/files/boxed-fetch-component.wasm" }) ``` ### Technical Analysis The Skill instructs users or agents to download an executable WebAssembly component from the mutable `main` branch of an external personal GitHub repository and then execute that component from a locally trusted path. The effective executable payload is not included in the audited project. The instructions do not pin the download to an immutable commit or release and do not provide a cryptographic checksum, signature, trusted provenance record, or reproducible-build verification procedure. The remote binary can therefore change after the Skill itself has been reviewed. This creates a time-of-review versus time-of-use security gap: approving the Markdown files does not establish the integrity or behavior of the WASM binary that a user will subsequently execute. Compromise of the upstream repository, maintainer account, release process, or hosting path could substitute a modified payload. Execution occurs inside a WebAssembly sandbox with an explicit outbound-host allowlist, which limits the likely impact. ...[truncated 1896 chars]- Remediation
View remediation
