T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:39- Finding
Unpinned Remote Code and Dependency Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 39–42
Vulnerability Type: Remote payload retrieval and insecure dependency installation
Risk Level: Highbash git clone https://github.com/openclaw-skills/ai-intelligent-data-catalog cd ai-intelligent-data-catalog pip install -r requirements.txt python app.pyTechnical Analysis
The installation instructions clone an externally controlled GitHub repository without pinning a reviewed commit, signed tag, or checksum. They then install dependencies from the remote repository's
requirements.txtand execute itsapp.py.Neither the referenced application nor its dependency manifest is included in the audited package. Consequently, the code ultimately installed and executed can differ from the code that existed when this skill was reviewed. No lockfile, package hashes, artifact signature, or other integrity control is specified.
The same sequence also creates dependency supply-chain exposure. Python package installation may execute package build or installation logic, and
python app.pydirectly runs remote repository code. A compromise of the repository, its maintainer account, or one of its unpinned dependencies could therefore turn these documented commands into an arbitrary-code-execution path.Attack Path
- An attacker compromises the referenced GitHub repository, a maintainer account, or a dependency resolved by
requirements.txt. - The attacker modifies
requirements.txt, a dependency package, orapp.pyto contain malicious behavior. - A user follows the instructions and clones the repository's current mutable state.
pip install -r requirements.txtinstalls the attacker-controlled dependency set and may execute package installation or build hooks.python app.pyexecutes the downloaded application code.- The payload operates with the privileges and environmental access of the user running the commands.
Impact Assessment
Successful exploitation ...[truncated 656 chars]
- An attacker compromises the referenced GitHub repository, a maintainer account, or a dependency resolved by
- Remediation
View remediation
Remediation Suggestions
- Include the complete application source and dependency manifests in the skill package so they can be audited together.
- If external retrieval is unavoidable, pin the repository to a specific reviewed commit hash rather than cloning a mutable default branch.
- Distribute signed release artifacts and verify their signatures or cryptographic checksums before installation or execution.
- Replace loosely resolved dependencies with a reviewed lockfile containing exact versions and hashes; install with hash verification, such as
pip install --require-hashes. - Review transitive dependencies and obtain packages only from explicitly configured, trusted indexes.
- Avoid directly executing newly downloaded code. Separate retrieval, integrity verification, review, installation, and execution into distinct steps.
- Run installation and execution in an isolated, least-privileged environment without unnecessary credentials, host mounts, or network access.
- Document the expected repository owner, commit identifier, artifact digest, supported dependency set, and verification procedure.
