T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:17- Finding
Mutable Remote Binary Is Downloaded and Executed Without Integrity Verification
- Content
View full analysis
{let data = ''''; res.on(''data'', chunk => data += chunk); res.on(''end'', () => {const release = JSON.parse(data); const version = release.tag_name.replace(/^v/, ''''); console.log(version);})}).on(''error'', (err) => {console.error(''Error:'', err.message); process.exit(1);});"', "env": { "VERSION": "${VERSION}", "ARCH": "${process.arch === 'arm64' ? 'aarch64' : 'x86_64'}", "OS": "${process.platform === 'darwin' ? 'apple-darwin' : process.platform === 'win32' ? 'pc-windows-msvc.exe' : 'unknown-linux-gnu'}", }, }, { "id": "download", "kind": "download", "url": "https://github.com/basjoofan/core/releases/download/v${VERSION}/basjoofan-${VERSION}-${ARCH}-${OS}", "bins": ["basjoofan"], "label": "Install basjoofan v${VERSION}", }, ``` ### Technical Analysis The installation configuration queries the GitHub API for the latest release version and then downloads a platform-specific native executable from that release. The selected version is mutable because it is determined at installation time rather than pinned to a previously audited release. The downloaded executable is not validated using a cryptographic checksum, publisher signature, or trusted manifest. Consequently, the effective code executed by the Skill can change after the Skill itself has been reviewed. HTTPS protects the download in transit but does not protect against a compromised upstream repository, stolen release credentials, a malicious release uploaded by a maintainer, or an unauthorized replacement of a release artifact. The remote ...[truncated 1645 chars]- Remediation
View remediation
