T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:323- Finding
Mutable Remote Scripts Are Downloaded and Executed Without Integrity Verification
- Content
View full analysis
send.mjs && node send.mjs /path/to/file.zip curl https://perkoon.com/perkoon_receive.mjs > receive.mjs && node receive.mjs SESSION_CODE ./output ``` ### Technical Analysis The browser-automation instructions download JavaScript from externally controlled URLs and immediately execute it with Node.js. Although HTTPS protects the connection in transit, the commands do not pin a script version or verify a cryptographic checksum or signature. Consequently, the code ultimately executed can change after the Skill has been reviewed. Compromise of the hosting service, deployment pipeline, domain, or relevant signing infrastructure could replace either script with an arbitrary payload. The downloaded process would run with the same operating-system permissions, environment variables, filesystem access, and network access as the invoking agent. This exceeds the minimum privileges needed for file transfer because a remote server is implicitly granted the ability to supply general-purpose executable code rather than only exchange file data through a constrained protocol. ### Attack Path 1. An attacker compromises the Perkoon web host, its deployment pipeline, or another component capable of modifying the referenced scripts. 2. The attacker replaces `perkoon_send.mjs` or `perkoon_receive.mjs` with malicious JavaScript. 3. An agent follows the documented command and downloads the altered script. 4. The shell executes the downloaded script through `node` without validating its identity or integrity. 5. The payload reads files, environment variables, workspace content, or credentials available to the agent. 6. The payload can exfiltrate those resources or perform other actions allowed by the agent account. ### Impact Assessment Successful exp ...[truncated 413 chars]- Remediation
View remediation
