T03 · Remote Payload Retrieval and Execution
- Location
references/standalone-verification.md:12- Finding
Mutable Remote Shell Script Downloaded and Executed Without Independent Verification
- Content
View full analysis
the local directory containing `SKILL.md` and `MANIFEST.yaml` Customize ```shell bash /tmp/skill-provenance-verify.sh TARGET_SKILL_DIRECTORY ``` ``` The same workflow is reproduced in `README.md`: ```shell curl -fsSLo /tmp/skill-provenance-verify.sh https://skillprovenance.dev/verify.sh sed -n '1,220p' /tmp/skill-provenance-verify.sh bash /tmp/skill-provenance-verify.sh TARGET_SKILL_DIRECTORY ``` ### Technical Analysis The documented verification procedure downloads a shell script from a mutable URL on a custom external domain and subsequently executes it with `bash`. No independently obtained checksum or digital signature is verified for the downloaded wrapper before execution. The documentation states that the wrapper verifies a canonical validator using a pinned SHA-256 digest. That inner pin does not establish the integrity of the wrapper itself. If the wrapper is replaced, an attacker can alter its control flow, replace the embedded expected digest, skip validation entirely, or execute arbitrary commands before invoking any legitimate validator. Displaying the first 220 lines with `sed` is only a manual inspection aid. It does not cryptographically bind the inspected content to the content later read by `bash`, does not prevent malicious content beyond the displayed range, and does not provide a reliable security gate for users who do not conduct a complete shell-code review. Use of the shared `/tmp` path also leaves an avoidable interva ...[truncated 1747 chars]- Remediation
View remediation
