T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:61- Finding
Execution of Mutable Remote Installation Scripts Without Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:61-69,README.md:28-36,README-CN.md:27-35
Vulnerability Type: Remote payload retrieval and immediate execution
Risk Level: CriticalComplete Code Snippet
bash # Method 2: Shell script (Linux / macOS, when npm is not available) curl -fsSL https://raw.githubusercontent.com/laiye-ai/adp-cli/main/scripts/adp-init.sh | bashpowershell # Method 3: PowerShell script (Windows, when npm is not available) irm https://raw.githubusercontent.com/laiye-ai/adp-cli/main/scripts/adp-init.ps1 | iexEquivalent commands appear in all three documentation files:
SKILL.md:61-69README.md:28-36README-CN.md:27-35
Technical Analysis
The installation instructions download shell or PowerShell code from the mutable
mainbranch of an external GitHub repository and pass it directly to an interpreter. The downloaded content is not pinned to an immutable commit or release and is not checked against a cryptographic digest or publisher signature.Consequently, the effective code executed by users can change after this Skill has been reviewed. Compromise of the upstream repository, its maintainer credentials, the release workflow, or another authorized publishing account could cause arbitrary replacement code to be delivered through these commands.
The GitHub organization and repository names are consistent with the vendor identified by the Skill, but that association does not mitigate the absence of immutable versioning and integrity verification. The actual remote scripts were not included in the audited project and therefore their current behavior could not be verified.
Direct pipe-to-interpreter execution is not necessary for the declared purchase-order extraction functionality. Installation can instead use a pinned, verified artifact. This behavior therefore exceeds the minimum execution trust required to install and operate the CLI.
...[truncated 1408 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove all
curl | bashandirm | iexinstallation instructions. - Pin installation artifacts to a specific audited version and immutable release or commit.
- Download the artifact to a local file without executing it:
bash curl -fL -o adp-init.sh https://example.invalid/releases/vX.Y.Z/adp-init.sh - Publish the expected SHA-256 digest through a separately protected release channel and verify it before execution:
bash echo "<EXPECTED_SHA256> adp-init.sh" | sha256sum --check - - Prefer cryptographically signed release artifacts and verify the signature against a documented publisher key.
- Allow the user to inspect the downloaded script before explicitly approving execution.
- State that installation must be performed without administrator or root privileges unless a documented operation strictly requires elevation.
- Apply the corrected instructions consistently to
SKILL.md,README.md, andREADME-CN.md.
- Remove all
