T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:24
- Finding
- Mutable External Pipeline Is Retrieved and Executed Without Integrity Verification<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:24-26` and `SKILL.md:69-78` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ### Vulnerable Code ```bash git clone https://github.com/YOUR_REPO/hookbot-scripts ~/hookbot ``` The retrieved pipeline is subsequently executed: ```bash cd "$SCRIPTS_DIR" && \ YTDLP_PATH="$YTDLP" \ FFMPEG_PATH="$FFMPEG" \ YOUTUBE_API_KEY="${YOUTUBE_API_KEY:-}" \ python3 pipeline.py "<creator_url>" "<cta_video>" \ --count <count> \ --hook-duration <hook_duration> \ --output <output_dir> \ [--viral] ``` ### Technical Analysis The audited package does not contain `pipeline.py` or the related pipeline implementation. Instead, it instructs users to clone code from an external Git repository and later execute that code with Python. No immutable commit identifier, release digest, cryptographic signature, or checksum is specified. Consequently, the effective executable payload can change after this Skill has been reviewed. The repository URL also contains the unresolved `YOUR_REPO` placeholder, increasing the likelihood that users or distributors will substitute an arbitrary or unverified repository. The external script receives the configured `YOUTUBE_API_KEY` through its environment and executes with the permissions of the OpenClaw process or invoking user. Therefore, compromise or substitution of the external repository would cross the security boundary between unaudited remote content and local code execution. ### Attack Path 1. An attacker gains control of the repository used in place of `YOUR_REPO`, compromises an existing repository, or persuades a user to configure a malicious repository. 2. The user follows the setup instructions and clones the mutable repository into the configured scripts directory. 3. A request triggers the Hookbot workflow. 4. The Skill runs the remotely obtained `pipeline.py`. 5. The malicious pipeline executes with the invoking process's privilege ...[truncated 837 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Include the reviewed pipeline implementation directly in the Skill package. 2. If external retrieval is unavoidable, use an official repository and pin it to an immutable commit hash. 3. Publish and verify a cryptographic checksum or signed release before executing any downloaded files. 4. Abort execution if repository identity, commit identity, signature validation, or checksum validation fails. 5. Replace the unresolved `YOUR_REPO` placeholder with an authenticated, documented source. 6. Review the pipeline's source code and dependency lock files as part of the same security audit. 7. Do not expose `YOUTUBE_API_KEY` or other credentials to code until its identity and integrity have been verified. 8. Run media-processing code in a sandbox with restricted filesystem, network, and environment access. ]]>
