T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:29- Finding
Execution of Mutable Code Retrieved from an Unpinned Remote Repository
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 29-33
Vulnerability Type: Remote payload retrieval and execution
Risk Level: Highbash git clone https://github.com/kangjjang/youtube-shorts-skill.git cd youtube-shorts-skill bash scripts/setup.shTechnical Analysis
The installation instructions clone the current contents of an external GitHub repository and immediately execute its
scripts/setup.shfile. The repository is not pinned to an immutable commit, and the instructions do not require signature or checksum verification.Consequently, the effective code executed by the Skill can change after this artifact has been reviewed. The referenced setup script is not included in the audited artifact, so its operations cannot be inspected or verified. If the upstream repository, its maintainer account, or its default branch is compromised, attacker-controlled shell commands would be executed with the invoking user's privileges.
The later environment setup also runs
pip install -r requirements.txtfrom the remotely retrieved repository. This increases the supply-chain exposure because neither the dependency manifest nor pinned dependency hashes are present in the audited artifact.Attack Path
- An attacker compromises the upstream repository, its maintainer account, or a dependency referenced by the remote project.
- The attacker modifies
scripts/setup.sh, the dependency manifest, or another installation component on the repository's default branch. - A user follows the Skill instructions and clones the latest mutable repository state.
- The user executes
bash scripts/setup.shwithout verifying the retrieved content. - The attacker's commands execute under the user's account and can use that account's filesystem and network access.
- If sensitive environment variables such as
GEMINI_API_KEYare available to the process, malicious installation code may read and transmit them ...[truncated 589 chars]
- Remediation
View remediation
Remediation Suggestions
- Include all reviewed source code and installation scripts directly in the Skill package so the audited artifact is self-contained.
- If remote retrieval is unavoidable, pin the repository to a specific immutable commit hash rather than cloning the mutable default branch.
- Distribute signed releases and verify the release signature and cryptographic checksum before executing any downloaded file.
- Require users to inspect the retrieved setup script before execution and avoid piping or immediately passing unverified remote content to a shell.
- Pin Python dependencies to exact versions and hashes using a lock file or hash-verified requirements file.
- Run installation in an isolated, least-privileged environment without unnecessary credentials, including
GEMINI_API_KEY. - Apply restricted filesystem and network permissions during installation, allowing access only to resources necessary for setup.
- Document the exact reviewed repository commit and dependency lock-file digest in
SKILL.md.
