T03 · Remote Payload Retrieval and Execution
- Location
references/setup.md:13- Finding
Unverified Remote Installer Executed with Root Privileges
- Content
View full analysis
Vulnerability Details
File Location:
references/setup.md, lines 13-19
Vulnerability Type: Remote payload retrieval and privileged execution
Risk Level: HighVulnerable Code
bash # Pick a released tag: https://github.com/psyb0t/docker-qwenspeak/releases REF=vX.Y.Z curl -fsSL "https://raw.githubusercontent.com/psyb0t/docker-qwenspeak/${REF}/install.sh" -o install.sh less install.sh # review exactly what runs as root sudo bash install.shTechnical Analysis
The setup instructions download a shell script from an external personal GitHub repository and direct the operator to execute it with
sudo. Selecting a release tag reduces accidental exposure to changes on themainbranch, but Git tags can be deleted or moved unless their integrity is independently verified. The instructions do not validate a cryptographic signature, trusted checksum, or immutable commit identity.Manual inspection with
lessis a useful precaution but does not provide machine-verifiable integrity and does not ensure that an operator will detect subtle malicious behavior. The downloaded script is outside the audited project, so its effective behavior can differ from the code reviewed here.Executing the installer as root exceeds the privileges needed by the client-side SSH wrapper itself. Elevated installation may be necessary for operations such as placing a command in
/usr/local/binor provisioning Docker resources, but the setup does not isolate those operations from the rest of the downloaded script.Attack Path
- An attacker compromises the upstream repository, a maintainer account, release process, or referenced tag.
- The attacker replaces or retargets the referenced
install.shwith malicious content. - An operator follows the documented setup procedure and downloads the modified script.
- No checksum or signature validation detects the substitution.
- The operator executes `sudo ...[truncated 543 chars]
- Remediation
View remediation
Remediation Suggestions
- Include a reviewed installer in the Skill package rather than retrieving executable code at installation time.
- If remote retrieval is unavoidable, pin the download to an immutable commit hash rather than a mutable tag.
- Publish a SHA-256 digest through a separately authenticated release channel and verify it before execution.
- Prefer signed release artifacts and validate the signature against a documented, pinned maintainer key.
- Fail closed if checksum or signature verification fails.
- Split privileged and unprivileged installation steps. Use elevation only for narrowly scoped operations that genuinely require it.
- Avoid executing a large downloaded script as root; install files with explicit commands and restrictive ownership and permissions.
- Document the exact privileged changes made by the installer so operators can review their necessity.
