T03 · Remote Payload Retrieval and Execution
Error
- Location
- SKILL.md:82
- Finding
- Unpinned Remote Repository Is Retrieved and Executed<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:82-88` **Vulnerability Type**: Remote payload retrieval and execution **Risk Level**: High ```bash git clone https://github.com/psyb0t/aigate cd aigate make bootstrap # creates .env from .env.example (any target does this) # edit .env: set AIGATE_TOKEN, flip the flags for the providers/services you want to 1 # .env is gitignored. docker-compose.yml is tracked, so put compose changes in # docker-compose.override.yml, which is gitignored and merges last make limits # writes .env.limits sized to this machine's RAM/CPU make run-bg # start the stack in the background ``` The same unsafe installation pattern is repeated in `references/setup.md:7-14`. ### Technical Analysis The instructions clone the current default branch of a remote Git repository and subsequently execute repository-controlled Make targets. No reviewed commit, immutable release tag, source checksum, signature, or container-image digest is specified. The effective payload therefore remains mutable after this Skill has been reviewed. The audited artifact does not contain the upstream `Makefile`, Docker Compose definitions, bootstrap scripts, or container contents executed by these commands. Running `make bootstrap`, `make limits`, or `make run-bg` may execute arbitrary commands defined by the repository with the permissions of the invoking user, while Docker access can commonly provide a path to host-level control. This is specifically a remote payload retrieval issue rather than evidence that the current upstream repository is malicious. The risk arises because future or compromised upstream content would be trusted and executed without integrity validation. ### Attack Path 1. An attacker compromises the upstream repository, its maintainer account, default branch, build pipeline, or a mutable container image referenced by the repository. 2. The attacker modifies a Make target, Compose configuration, script, or container en ...[truncated 1001 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the source repository to a specific, reviewed commit: ```bash git clone https://github.com/psyb0t/aigate cd aigate git checkout --detach <reviewed-full-commit-hash> ``` 2. Verify the commit using a trusted signature or an independently distributed checksum before executing any target. 3. Pin every container image by immutable digest rather than a mutable tag: ```yaml image: example/image@sha256:<verified-digest> ``` 4. Vendor the required Makefile, Compose configuration, and bootstrap scripts into the audited Skill package where feasible. 5. Audit all Make targets and Compose lifecycle hooks before execution, including build contexts, bind mounts, privileged containers, host networking, and Docker socket mounts. 6. Run installation from a dedicated low-privilege account or isolated virtual machine without access to unrelated host secrets. 7. Avoid providing production credentials until image and startup integrity checks have completed. 8. Establish an update procedure requiring review and integrity verification before changing the pinned commit or image digests. ]]>
