T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:111- Finding
Unverified Remote Binary Download and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:111-112andSKILL.md:136-138
Vulnerability Type: Remote executable retrieval without integrity or signature verification
Risk Level: HighVulnerable Code:
bash curl -L https://github.com/MetaCubeX/Clash.Meta/releases/download/v1.18.0/mihomo-linux-amd64-alpha-dd4eb63.gz | gunzip > "$PROXY_SKILL_DIR/bin/mihomo" chmod +x "$PROXY_SKILL_DIR/bin/mihomo"powershell Invoke-WebRequest -Uri "https://github.com/MetaCubeX/Clash.Meta/releases/download/v1.18.0/mihomo-windows-amd64-compatible-alpha-dd4eb63.zip" -OutFile "$PROXY_SKILL_DIR\mihomo.zip" Expand-Archive -Path "$PROXY_SKILL_DIR\mihomo.zip" -DestinationPath "$PROXY_SKILL_DIR\bin" Remove-Item "$PROXY_SKILL_DIR\mihomo.zip"Technical Analysis
The installation procedure downloads a native executable from an external GitHub release and subsequently launches it as part of the proxy setup. The download is protected by HTTPS, but the Skill does not verify a cryptographic checksum, a digital signature, or signed release metadata before marking the binary executable.
This behavior is central to the declared automatic-installation feature, but it exceeds the minimum safe implementation because arbitrary downloaded bytes are trusted as executable code. The effective code executed on the host can therefore differ from the content reviewed in the Skill package.
The README identifies
MetaCubeX/mihomoas the official repository, whereas the installation command uses the olderMetaCubeX/Clash.Metarelease path. The README also suggests unspecified GitHub acceleration or mirror services when downloads fail. Such mirrors would further weaken provenance if users or agents substitute them without validation.Attack Path
- An attacker compromises the release account, release asset, hosting path, or a third-party mirror selected by the user.
- The legitimate archive is replaced with an attacker-co ...[truncated 1114 chars]
- Remediation
View remediation
Remediation Suggestions
- Download archives to a newly created temporary file instead of streaming them directly into the executable destination.
- Publish and pin a separate SHA-256 or stronger digest for every supported operating-system and architecture artifact.
- Verify the digest before extraction or execution and fail closed if verification fails.
- Prefer signature verification using trusted, pinned release-signing keys or verified provenance metadata.
- Reconcile the documented official repository with the actual download source and use a current, authoritative release location.
- Do not recommend unspecified acceleration or mirror sites. If mirrors are supported, require the same pinned signature or digest verification.
- Validate archive contents before extraction, including expected filenames and protection against path traversal.
- Write the verified binary atomically to its final path and grant executable permission only after successful verification.
- Display the source URL, version, and verified digest to the user before first execution and request confirmation.
- Run the proxy with ordinary user permissions and explicitly reject installation from an elevated agent context unless elevation is demonstrably required.
