T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:14- Finding
Unverified Remote Installer Download and Immediate Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 14–15
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable Code
bash - **macOS / Linux**: `curl -fsSL https://d.officecli.ai/install.sh | bash` - **Windows (PowerShell)**: `irm https://d.officecli.ai/install.ps1 | iex`Technical Analysis
Both installation commands retrieve mutable scripts from
d.officecli.aiand immediately pass their contents to a command interpreter. The macOS/Linux command pipes the response into Bash, while the Windows command passes it to PowerShell'sInvoke-Expression.The downloaded payload is not pinned to a specific version, displayed for review, authenticated with a publisher signature, or checked against a trusted cryptographic hash. Consequently, the code ultimately executed can differ from the content available when the Skill was audited.
Installing
officeclimay be necessary for the declared spreadsheet-dashboard functionality, but executing mutable network content directly is not the minimum capability required. The document already identifies downloadable GitHub release artifacts as an alternative, although it does not provide integrity-verification instructions for those artifacts either.Attack Path
- A user or agent follows the setup instructions because
officecliis unavailable. - The shell requests an installation script from
d.officecli.ai. - The remote host, its deployment pipeline, DNS resolution, or another delivery-chain component is compromised or serves a maliciously modified script.
- The response is sent directly to Bash or PowerShell without prior inspection or integrity verification.
- The interpreter executes the attacker-controlled payload with the privileges of the user running the command.
- The payload can then perform any action available to that user, including modifying files, accessing readable data, invoking network services, or installing additional co ...[truncated 855 chars]
- A user or agent follows the setup instructions because
- Remediation
View remediation
Remediation Suggestions
- Remove both direct pipe-to-interpreter installation commands.
- Pin installation instructions to a specific, immutable release version.
- Prefer artifacts from the stated official GitHub release repository rather than a mutable installer endpoint.
- Publish trusted SHA-256 checksums through a separately controlled channel and require verification before execution.
- Provide cryptographic signatures and document verification against a pinned publisher key.
- Download the artifact to disk first so its origin, signature, hash, and contents can be inspected before installation.
- Require explicit user confirmation before executing any installer.
- Avoid administrative privileges unless a specific installation step requires them, and clearly document why each elevated operation is necessary.
- For macOS/Linux, use a flow equivalent to:
bash VERSION="<pinned-version>" curl -fL -o officecli.tar.gz \ "https://github.com/iOfficeAI/OfficeCLI/releases/download/${VERSION}/<pinned-artifact>" printf '%s %s\n' "<trusted-sha256>" "officecli.tar.gz" | sha256sum -c - # Verify the publisher signature as well, then inspect and install the artifact.- For Windows, use
Invoke-WebRequestonly to download a pinned artifact, verify its Authenticode signature and published hash, and then invoke it explicitly rather than usingInvoke-Expression.
