T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:74
- Finding
- Recommended Installation Executes a Mutable Remote Script Directly with Bash<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:74-84` **Vulnerability Type**: `T03: Remote Payload Retrieval and Execution` **Risk Level**: Critical ### Vulnerable Code ```markdown After installing, run the setup to configure the helper daemon and Karabiner: ```bash # One-line install (recommended) /bin/bash -c "$(curl -fsSL https://mirroir.dev/get-mirroir.sh)" # Or via Homebrew brew tap jfarcand/tap && brew install iphone-mirroir-mcp # Or via npx npx -y iphone-mirroir-mcp install ``` ``` ### Technical Analysis The installation documentation recommends retrieving a shell script from `https://mirroir.dev/get-mirroir.sh` and passing the returned content directly to Bash. The command does not pin an immutable artifact, verify a checksum, validate a cryptographic signature, or provide an inspection step before execution. Consequently, the code that executes can change after the Skill has been reviewed. Compromise of the remote server, DNS or delivery infrastructure, publishing process, or hosting account could turn the documented installation command into an arbitrary-code execution channel. The risk is amplified by the installation context. The surrounding documentation states that setup configures a helper daemon and Karabiner, while the Skill requires Screen Recording and Accessibility permissions. Although the audited file does not prove that the script itself abuses those permissions, executing an unverified installer in this environment creates a high-impact trust boundary. ### Attack Path 1. An attacker compromises `mirroir.dev`, its deployment pipeline, or another component capable of controlling the response for `get-mirroir.sh`. 2. The attacker modifies the served shell script to contain malicious commands. 3. A user follows the Skill's explicitly recommended one-line installation procedure. 4. `curl` downloads the attacker-controlled response. 5. Bash executes the response immediately without integrity or signature verificatio ...[truncated 1003 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove the direct remote-script execution command from the recommended installation process. 2. Distribute a versioned, immutable installation artifact through a controlled release channel. 3. Publish and require verification of a SHA-256 or stronger digest before execution. 4. Cryptographically sign release artifacts and document signature verification using a pinned, trusted public key. 5. Provide separate download, verification, inspection, and execution steps rather than piping network content directly into a shell. 6. Pin the installer to a specific reviewed release instead of a mutable URL. 7. Document every component installed by the setup process, including helper daemons, DriverKit components, launch agents, and requested permissions. 8. Apply least privilege during setup and request Screen Recording or Accessibility access only when the corresponding functionality is first used. ]]>
