T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:19- Finding
Mutable Remote Skill and Python Payload Installed Without Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:19-20, 27-29, 36, 42
Vulnerability Type:T03: Remote Payload Retrieval and Execution
Risk Level: MediumThe installation instructions retrieve Skill instructions and executable Python source from a mutable branch of a personal GitHub repository. Neither the downloaded files nor the cloned repository are pinned to a reviewed commit, authenticated release, checksum, or cryptographic signature.
Vulnerable Code
PowerShell installation (
SKILL.md:19-20):powershell Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mcbaivn/openclaw-skills-mcbai/main/skills/youtube/youtube-channel-compare/SKILL.md" -OutFile "$skillDir\SKILL.md" Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mcbaivn/openclaw-skills-mcbai/main/skills/youtube/youtube-channel-compare/scripts/compare_channels.py" -OutFile "$skillDir\scripts\compare_channels.py"macOS/Linux installation (
SKILL.md:27-29):bash curl -o ~/.agents/skills/youtube-channel-compare/SKILL.md \ https://raw.githubusercontent.com/mcbaivn/openclaw-skills-mcbai/main/skills/youtube/youtube-channel-compare/SKILL.md curl -o ~/.agents/skills/youtube-channel-compare/scripts/compare_channels.py \ https://raw.githubusercontent.com/mcbaivn/openclaw-skills-mcbai/main/skills/youtube/youtube-channel-compare/scripts/compare_channels.pyRepository cloning alternatives (
SKILL.md:36, 42):powershell git clone https://github.com/mcbaivn/openclaw-skills-mcbai.gitbash git clone https://github.com/mcbaivn/openclaw-skills-mcbai.gitTechnical Analysis
The raw-file URLs reference the mutable
mainbranch. Consequently, the content installed by these commands can differ from the content that was statically audited. The clone alternatives likewise retrieve the current repository state without checking out a fixed, reviewed commit.The downloaded `compare_ch ...[truncated 2382 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove remote replacement downloads when the Skill is distributed as a complete artifact. Install the reviewed local files instead.
- If remote installation is necessary, reference an immutable reviewed commit rather than the mutable
mainbranch. - Publish trusted SHA-256 checksums through a separately authenticated channel and verify each file before moving it into
~/.agents/skills. - Prefer signed releases or signed Git tags, and verify the signature and expected signer during installation.
- For Git-based installation, check out an explicit commit hash and verify that it matches the documented reviewed revision.
- Download into a staging directory first. Activate the Skill only after all integrity and authenticity checks succeed.
- Use failure-aware download options such as
curl --fail --location --show-errorso HTTP errors are not silently saved as Skill files. - Document and pin the required
yt-dlpdependency through a controlled dependency-management process. - Run the comparison script with ordinary user privileges and restrict access to unnecessary secrets or sensitive directories.
