T03 · Remote Payload Retrieval and Execution
- Location
skill.json:16- Finding
Automated installation executes mutable remote scripts
- Content
View full analysis
Vulnerability Details
File Location:
skill.json:16-21
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalThe installation metadata instructs the host to download scripts from the mutable
mainbranch of an external GitHub repository and execute them immediately:json "install": { "shell": { "linux": "curl -fsSL https://raw.githubusercontent.com/loonghao/agentverse/main/install.sh | bash", "macos": "curl -fsSL https://raw.githubusercontent.com/loonghao/agentverse/main/install.sh | bash", "windows": "irm https://raw.githubusercontent.com/loonghao/agentverse/main/install.ps1 | iex" },Technical Analysis
Both
curl ... | bashandirm ... | iexcreate a direct remote-code execution channel. The scripts are neither included in the audited package nor pinned to an immutable release or commit. No checksum or signature verification is performed before execution.Installing the declared
agentversebinary is relevant to the Skill's functionality, but executing an unverified, mutable installation script is not the least-trust installation approach. Because the payload is fetched frommain, its effective behavior can change after this Skill has been reviewed. Compromise of the repository, maintainer account, release process, GitHub delivery path, or installation script could result in arbitrary commands being executed by the installer.The package also declares versioned GitHub release assets under
install.binary.github_release, demonstrating that a narrower installation mechanism is available. However, the shell installer remains present and can be invoked automatically by a Skill host.Attack Path
- A user or automated Skill manager processes
skill.json. - The manager selects the platform-specific shell installation command.
- The command retrieves the current
install.shorinstall.ps1from the repository's mutablemainbranch.
...[truncated 860 chars]
- A user or automated Skill manager processes
- Remediation
View remediation
Remediation Suggestions
- Remove the
curl | bashandirm | iexinstallation paths from machine-readable installation metadata. - Prefer direct downloads of version-pinned GitHub release archives already described by
install.binary.github_release. - Pin the exact release version rather than resolving a mutable latest release or branch.
- Publish SHA-256 checksums through a separately protected release process and verify the selected archive before extraction.
- Prefer cryptographic artifact signatures and verify both signer identity and signature before installation.
- If an installation script is unavoidable, reference an immutable commit, download it to a file, verify its expected digest, and require explicit review or confirmation before execution.
- Install into a user-scoped directory without administrator privileges unless a specific privileged operation is demonstrably required.
- Disable unattended self-update behavior or apply the same version pinning, signature verification, and user-confirmation requirements to updates.
- Remove the
