T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:57- Finding
Unverified Remote JavaScript Download and Execution
- Content
View full analysis
/dev/null 2>&1; then echo "Bridge already running." else nohup node ~/.clawmart/bridge.mjs > ~/.clawmart/bridge.log 2>&1 & echo $! > ~/.clawmart/bridge.pid ``` ### Technical Analysis The setup retrieves a JavaScript file from an external URL and later executes it with Node.js. The downloaded artifact is not version-pinned and is not verified using a cryptographic digest or trusted digital signature. The bridge source is also absent from the reviewed project, so its effective behavior cannot be statically audited. Because the remote endpoint can provide different content after the skill has been reviewed, compromise of the hosting service, delivery infrastructure, DNS resolution, deployment process, or publisher account could replace the bridge with arbitrary JavaScript. The `curl -fsSL` options only enforce HTTP failure handling and TLS transport. They do not prove that the downloaded artifact is the specific version reviewed or approved by the user. ### Attack Path 1. An attacker compromises the bridge download endpoint or its deployment pipeline. 2. The attacker replaces `bridge.mjs` with malicious JavaScript. 3. A user follows the documented setup procedure. 4. `curl` writes the attacker-controlled payload to `~/.clawmart/bridge.mjs`. 5. The startup command invokes the payload through `node`. 6. The malicious process executes with the user's privileges and remains active in the background. ### Impact Assessment Successful exploitation provid ...[truncated 640 chars]- Remediation
View remediation
