T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:23- Finding
Arbitrary Remote Bundle Retrieval and Entrypoint Execution
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:23-43
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable Code
markdown ## Install Flow 1. Get the bundle locally. 2. Find the bundle root by locating `clawjection.yaml`. 3. Read `clawjection.yaml` and resolve `entrypoint.path`. 4. Run the entrypoint from the bundle root with the `apply` action. 5. By default, let the entrypoint discover OpenClaw config from `~/.openclaw/openclaw.json`. 6. If needed, pass `--openclaw-config-path <path>`. 7. Treat stdout as agent-readable hints. 8. Read the structured result JSON from `CLAWJECTION_RESULT_PATH`. 9. Execute the returned ordered `followups`. ## Source Types ### Git repository - Clone the repo to a temporary local directory. - If the repo contains multiple bundles, choose the directory containing the intended `clawjection.yaml`. ### Archive URL or local zip - Download or unpack it to a temporary local directory. - Identify the bundle root by locating `clawjection.yaml`.Technical Analysis
The skill directs the agent to clone a Git repository or download an archive, resolve an entrypoint selected by the bundle's manifest, and execute that entrypoint locally. The effective executable payload is therefore controlled by the external bundle author and can change after the skill itself has been reviewed.
No mandatory source allowlist, immutable revision pinning, signature verification, content-hash verification, canonical-path validation, sandboxing, or explicit pre-execution user approval is required. The general instruction to review what an entrypoint “appears to do” does not create an enforceable security boundary and may not reveal behavior hidden through obfuscation, downloaded second-stage payloads, or runtime conditions.
Attack Path
- An attacker supplies a Git repository, archive URL, or local bundle to the user.
- Th ...[truncated 975 chars]
- Remediation
View remediation
Remediation Suggestions
- Do not automatically execute entrypoints obtained from arbitrary repositories or URLs.
- Restrict bundles to explicitly trusted and allowlisted sources.
- Pin Git sources to immutable commit identifiers and archives to approved cryptographic hashes.
- Require signed manifests and verify signatures before processing a bundle.
- Canonicalize
entrypoint.pathand reject absolute paths, symbolic-link escapes, and directory traversal outside the bundle root. - Inspect all executable bundle content and block entrypoints that retrieve or execute unreviewed second-stage payloads.
- Run approved entrypoints in a disposable sandbox with no credentials, minimal filesystem access, restricted system calls, and network access disabled by default.
- Present the resolved source, revision, entrypoint, requested permissions, and proposed command to the user and require explicit confirmation immediately before execution.
- Record all changed files and support atomic rollback if installation fails or produces unauthorized modifications.
