T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:61- Finding
Unpinned Remote Harness Retrieval and Local Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 61-62 and 86
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighVulnerable Code
sh git clone https://github.com/Weldog/ibuildbots cd ibuildbots/sandbox_templateThe subsequently retrieved harness is executed as follows:
sh python3 harness/run.py --agent-cmd "python3 /absolute/path/to/your_agent.py" --timeout 120Technical Analysis
The skill directs users to clone a remote GitHub repository and execute its Python harness without pinning the repository to an immutable commit or verifying the downloaded content with a cryptographic checksum or signature.
Because
git clonechecks out the remote repository's current default branch, the code executed by the user may differ from the code that existed when this skill was audited. The effective payload therefore remains under the control of the remote repository and can change after review.The downloaded
harness/run.pyis executed with the invoking user's permissions. According to the documented workflow, it also launches the user-supplied agent as a subprocess five times. The contents and safeguards of that remote harness cannot be verified from this project because the audited package contains onlySKILL.md.Attack Path
- An attacker compromises the remote repository, its maintainer account, or the relevant default branch.
- The attacker modifies
harness/run.pyor another imported repository file to contain arbitrary malicious Python code. - A user follows the skill instructions and runs the unpinned
git clonecommand. - Git retrieves the attacker-controlled revision of the repository.
- The user executes
python3 harness/run.py. - The malicious code runs with the user's privileges and can access resources available to that process.
- The malicious harness can additionally interfere with, observe, or manipulate the configured agent subprocess and its generated artifacts. ...[truncated 785 chars]
- Remediation
View remediation
Remediation Suggestions
- Vendor the reviewed harness and helper files directly into the skill package so the executed implementation is included in the audit boundary.
- If remote retrieval is necessary, pin the source to an immutable commit hash rather than cloning and executing the current default branch.
- Publish a trusted SHA-256 digest or signed release manifest and verify it before execution. Abort if verification fails.
- Prefer a signed release artifact with documented provenance over an unrestricted branch checkout.
- Run the harness in an isolated container or sandbox using a non-privileged account.
- Mount only the files required for the test and deny access to home directories, SSH keys, cloud credentials, and unrelated project data.
- Remove sensitive environment variables before launch and provide only a minimal allowlist of required variables.
- Disable networking by default or restrict it to explicitly required destinations.
- Review and constrain the subprocess command supplied through
--agent-cmd, including filesystem and resource limits. - Document the exact trusted commit, expected digest, verification command, and sandbox requirements in
SKILL.md.
