T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:64- Finding
Unpinned Remote Repository Retrieval and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:64-76
Vulnerability Type:T03: Remote Payload Retrieval and Execution
Risk Level: HighComplete Code Snippet
bash git clone https://github.com/GeraltJc/insight-claw.git insight-claw cd insight-claw python -m venv .venv .venv/bin/python -m pip download --no-cache-dir --no-deps --dest /tmp/insight-claw-pip-probe-pypi --index-url https://pypi.org/simple requests==2.32.5 .venv/bin/python -m pip download --no-cache-dir --no-deps --dest /tmp/insight-claw-pip-probe-tuna --index-url https://pypi.tuna.tsinghua.edu.cn/simple requests==2.32.5The downloaded project is subsequently executed:
bash .venv/bin/python -m justice_plutus run --stocks 000001,600519 --workers 1 --no-notifyEquivalent instructions also appear in
references/quickstart.md:8-13andreferences/quickstart.md:53-56.Technical Analysis
The Skill clones the current state of a remote Git repository without pinning an immutable commit hash or verifying a signed tag. It then instructs the agent to execute a Python module supplied by that repository.
Consequently, the effective executable payload is not fixed to the content reviewed with this Skill. A compromised upstream account, repository, branch, or release process could alter the downloaded code after this bundle passes review. HTTPS protects transport integrity but does not ensure that the fetched repository revision is the one previously audited.
Attack Path
- An attacker compromises the upstream repository, a maintainer account, or its default branch.
- The attacker adds malicious behavior to
justice_plutus, an imported module, or installation-time project code. - A user invokes this Skill for first-time setup.
- The agent clones the attacker-controlled current repository state.
- The agent installs the project dependencies and runs
python -m justice_plutus. - The malicious code executes with the permissions and environment of the invoking ...[truncated 568 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the repository to a previously reviewed immutable commit hash:
bash git clone https://github.com/GeraltJc/insight-claw.git insight-claw cd insight-claw git checkout --detach EXPECTED_COMMIT_SHA - Verify that
HEADexactly matches the expected commit before installing or executing anything:bash test "$(git rev-parse HEAD)" = "EXPECTED_COMMIT_SHA" - Prefer a signed release tag and verify its signature in addition to pinning the resolved commit.
- Record the approved repository URL and commit in the Skill rather than relying on the mutable default branch.
- Review changes before updating the pinned revision; never automatically execute a newly fetched revision.
- Run the downloaded project in a restricted environment with minimal filesystem access, no unnecessary credentials, and constrained network access.
- Pin the repository to a previously reviewed immutable commit hash:
