T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:42- Finding
Mutable Remote Payload and Unverified Dependency Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 42-48
Vulnerability Type: Remote payload retrieval and insecure dependency execution
Risk Level: Highbash ## Installation ```bash git clone https://github.com/openclaw-skills/ai-intelligent-ai-model-marketplace cd ai-intelligent-ai-model-marketplace pip install -r requirements.txt python app.pytext ### Technical Analysis The installation procedure clones a remote repository without pinning it to a reviewed commit, signed tag, or immutable release artifact. It then installs dependencies from an unreviewed `requirements.txt` and directly executes the downloaded `app.py`. The local project contains no copy of the referenced application or dependency manifest. Therefore, neither the effective application payload nor its dependencies can be verified by auditing this package. The remote repository can change after the Skill has been reviewed, making the instructions an execution channel for a mutable external payload. The `pip install` step also introduces supply-chain exposure. Dependencies may execute build or installation logic, and the instructions provide no evidence of exact version pins, cryptographic hashes, trusted package indexes, or provenance verification. ### Attack Path 1. An attacker compromises the referenced repository, a maintainer account, or one of its dependencies. 2. The attacker modifies `app.py`, `requirements.txt`, or a dependency release to include malicious code. 3. A user follows the installation commands in `SKILL.md`. 4. `git clone` retrieves the attacker-controlled current repository state. 5. `pip install -r requirements.txt` installs the unverified dependency set and may execute malicious package installation or build logic. 6. `python app.py` executes the mutable remote application directly. 7. The payload runs with the privileges and environmental access of the user who invoked the commands. ### Impa ...[truncated 675 chars]- Remediation
View remediation
Remediation Suggestions
- Include the complete executable source and dependency manifests in the audited Skill package so that the reviewed content is the content users execute.
- If remote retrieval is unavoidable, pin the repository to a specific reviewed commit hash rather than cloning the mutable default branch.
- Distribute signed release artifacts and verify their cryptographic signatures or checksums before installation or execution.
- Pin every Python dependency to an exact reviewed version and require hashes, such as through a lock file or
pip install --require-hashes. - Restrict package installation to explicitly trusted indexes and review all direct and transitive dependencies for dependency-confusion and typosquatting risks.
- Perform installation and execution inside an isolated, least-privilege virtual environment or container with minimal filesystem, credential, and network access.
- Separate retrieval, verification, dependency installation, and execution into distinct documented steps. Do not execute
app.pyuntil integrity and provenance checks succeed. - Add reproducible build information and document the reviewed commit and dependency set in
SKILL.md.
