T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:40- Finding
Mutable Remote Code and Unpinned Dependencies Are Retrieved and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 40-43
Vulnerability Type: Remote payload retrieval and insecure dependency execution
Risk Level: HighComplete Code Snippet:
bash git clone https://github.com/openclaw-skills/ai-intelligent-report-generator cd ai-intelligent-report-generator pip install -r requirements.txt python app.pyTechnical Analysis
The audited package contains only
SKILL.mdand does not include the application source,requirements.txt, orapp.py. Its installation instructions retrieve the effective implementation from an external Git repository without pinning a reviewed commit, tag, or cryptographic digest. The remote repository can therefore change after this skill has been reviewed.The instructions also install an unavailable and unaudited dependency manifest. Python package installation can execute package build or installation logic, while subsequently running
app.pyexecutes the remotely retrieved application directly. Neither the application behavior nor its transitive dependencies can be verified from the audited artifact.This creates a mutable remote execution path and an unsafe supply-chain boundary. The evidence does not establish that the current remote repository or dependencies are malicious, but following the documented procedure permits externally controlled code to execute without integrity verification.
Attack Path
- A user follows the installation commands in
SKILL.md. - Git clones the current state of the externally hosted repository rather than a specifically reviewed commit.
- An attacker who compromises the repository, its maintainer account, or the relevant upstream branch modifies
requirements.txt,app.py, or other imported modules. pip install -r requirements.txtresolves and installs the externally selected dependencies; package installation or build hooks may execute attacker-controlled code.- `python ...[truncated 727 chars]
- A user follows the installation commands in
- Remediation
View remediation
Remediation Suggestions
- Include the complete application source, dependency manifest, and entry point in the skill package so reviewers can inspect the code that will execute.
- If remote retrieval is unavoidable, pin the Git checkout to a fully qualified, reviewed commit hash rather than a mutable default branch.
- Verify the retrieved source using a trusted signature or an independently distributed cryptographic checksum before installation or execution.
- Replace unconstrained dependency installation with a lockfile containing exact versions and hashes, and require hash verification during installation.
- Audit all direct and transitive dependencies, use trusted package indexes explicitly, and prevent dependency fallback to untrusted sources.
- Separate installation from execution. Do not instruct users to run the application automatically before they have reviewed and verified the downloaded files.
- Run installation and execution in an isolated, least-privileged virtual environment or container without unnecessary credentials, host mounts, or network access.
