T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:38- Finding
Mutable Remote Repository and Unverified Dependencies Are Retrieved and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 38–41
Vulnerability Type: Remote payload retrieval and insecure dependency execution
Risk Level: Highbash git clone https://github.com/openclaw-skills/ai-intelligent-image-generation cd ai-intelligent-image-generation pip install -r requirements.txt python app.pyTechnical Analysis
The installation instructions clone an external Git repository without pinning it to a reviewed commit hash or signed release. They then install packages from a remote-controlled
requirements.txtand execute the repository'sapp.py.Neither
requirements.txtnorapp.pyis present in the audited project, which contains onlySKILL.md. Consequently, the effective dependency set and executed application cannot be inspected or verified as part of this audit. The remote repository's default branch can change after review, making the executed payload mutable. In addition,pip installmay execute package build or installation logic, so an unsafe or compromised dependency could run code even beforeapp.pystarts.Attack Path
- An attacker compromises the referenced repository, gains control of an upstream dependency, or causes a malicious dependency to be included in
requirements.txt. - The attacker modifies the remote application, dependency declarations, or package installation logic.
- A user or agent follows the documented installation commands.
git cloneretrieves the attacker-controlled content because no immutable commit is specified.pip install -r requirements.txtdownloads and may execute unverified dependency installation code.python app.pydirectly executes the retrieved application with the invoking user's privileges.
Impact Assessment
Successful exploitation could provide arbitrary code execution under the account running the commands. The accessible scope could include that user's files, environment variable ...[truncated 399 chars]
- An attacker compromises the referenced repository, gains control of an upstream dependency, or causes a malicious dependency to be included in
- Remediation
View remediation
Remediation Suggestions
- Include the implementation and dependency manifests in the reviewed skill package so that all executed content is available for audit.
- If remote retrieval is necessary, pin the repository to a specific verified commit hash rather than cloning a mutable default branch.
- Use signed releases or verify downloaded content against a trusted cryptographic digest before installation or execution.
- Pin every Python dependency to an exact version and use a lock file containing hashes, such as hash-locked requirements installed with
pip --require-hashes. - Review direct and transitive dependencies, and obtain packages only from explicitly trusted indexes.
- Avoid executing dependency build scripts where feasible; prefer reviewed, reproducible artifacts.
- Run installation and application startup in an isolated, least-privileged environment with restricted filesystem access, sanitized credentials, and controlled network egress.
- Document the expected files, verified revision, dependency versions, and integrity checks directly in
SKILL.md.
