T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:43- Finding
Unpinned Remote Repository Retrieval and Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 43-46
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighVulnerable Code
bash git clone https://github.com/openclaw-skills/ai-intelligent-agriculture-monitoring cd ai-intelligent-agriculture-monitoring pip install -r requirements.txt python app.pyTechnical Analysis
The installation instructions clone a remote repository's mutable default branch without pinning it to a reviewed commit or signed release. They subsequently install packages from an unavailable and unverified
requirements.txtfile and execute the downloadedapp.py.The audited package contains only
SKILL.md; neither the application source nor the dependency manifest is included locally. Consequently, the effective executable payload is controlled by remote content and may change after this skill has been reviewed. An attacker who compromises the repository, its maintainer account, or its delivery path could substitute arbitrary Python code. Additionally, Python package installation may execute attacker-controlled build hooks beforeapp.pyis launched.Attack Path
- An attacker compromises the remote repository, a maintainer account, or one of the dependencies referenced by its mutable dependency manifest.
- The attacker modifies the default branch,
requirements.txt, dependency metadata, orapp.py. - A user follows the documented commands and clones the attacker-controlled revision.
pip install -r requirements.txtdownloads dependencies and may execute malicious package build or installation logic.python app.pydirectly executes the remotely supplied application payload.- The payload operates with the permissions and environmental access of the user who ran the commands.
Impact Assessment
Successful exploitation can result in arbitrary code execution under the invoking user's account. The payload could ac ...[truncated 465 chars]
- Remediation
View remediation
Remediation Suggestions
- Include the complete application source and dependency manifest in the reviewed package so its behavior can be audited.
- Pin the remote source to a specific, reviewed commit hash or cryptographically signed release rather than cloning a mutable default branch.
- Verify release signatures or published checksums before installing or executing downloaded content.
- Pin every Python dependency to an exact reviewed version and require hashes, for example by using
pip install --require-hashes -r requirements.txt. - Generate and retain a dependency lock file, review transitive dependencies, and continuously scan them for compromise and known vulnerabilities.
- Install dependencies inside a dedicated, unprivileged virtual environment or sandbox with restricted filesystem, credential, device, and network access.
- Review downloaded source and dependency metadata before running installation hooks or launching
app.py. - Avoid running the installation or application as root or another privileged account.
