T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:18- Finding
Execution of Mutable Code from an Unpinned Remote Repository
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 18–21 and 38–39
Vulnerability Type:T03: Remote Payload Retrieval and Execution
Risk Level: HighVulnerable Code:
bash git clone https://github.com/DeepSeekOracle/lygo-protocol-stack.git cd lygo-protocol-stack docker compose build lygo-node docker compose up -d lygo-nodebash bash setup.sh # or setup.ps1 on Windows python tools/node_api_server.py --host 127.0.0.1 --port 8787Technical Analysis
The instructions clone the default branch of an external GitHub repository without selecting an immutable commit or verifying a cryptographic signature or checksum. They then execute repository-controlled content through Docker Compose, a shell setup script, or a Python program.
The effective payload can consequently change after this Skill has been reviewed. A malicious or compromised repository revision could alter
Dockerfile, Compose configuration,setup.sh, Python modules, build dependencies, container entry points, volume mounts, or runtime privileges. The safety statement concerning public port exposure and registry pushes does not address this supply-chain risk.Attack Path
- An attacker compromises the external repository, a maintainer account, or the repository's default branch.
- The attacker modifies the Docker build context, Compose file,
setup.sh, or Python application. - A user follows the Skill and clones the current default branch.
- The user runs either the Docker commands or the non-Docker setup commands.
- The modified content executes with the permissions available to Docker or the invoking user.
- Depending on the runtime configuration, the payload may modify local files, access mounted data, execute additional network requests, or create attacker-controlled containers.
Impact Assessment
The direct execution scope is the invoking user's account. The Docker path may additionally ...[truncated 409 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the repository to a reviewed, immutable commit SHA rather than using the mutable default branch.
- Verify the selected revision using a trusted cryptographic signature or a separately distributed checksum.
- Provide explicit commands that check out and verify the approved revision before any build or execution.
- Audit the pinned
Dockerfile, Compose files, setup scripts, Python code, images, dependency locks, volume mounts, capabilities, and network configuration. - Require Docker containers to run as a non-root user with read-only filesystems, dropped Linux capabilities, restricted networks, and only essential mounts.
- Do not mount the Docker socket or sensitive host directories into containers.
- Avoid invoking
setup.shuntil its pinned contents and downloaded dependencies have been reviewed. - Publish controlled upgrades as newly reviewed versions instead of silently following changes to the default branch.
