T09 · Insecure Skill Coding Practices
- Location
SKILL.md:15- Finding
Execution of Unbundled and Unverified Local Python Code
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15-25
Vulnerability Type: Execution of code from a fixed external workspace without integrity or provenance validation
Risk Level: MediumVulnerable Code
markdown ### Run the engine ```bash cd /home/openclaw/.openclaw/workspace/evez-osint-engine python3 core/suspect_matrix.pyCLI
bash python3 core/osint_cli.py run -i input.json -o report.md -f markdown python3 core/osint_cli.py analyze --suspect-id <id> --name <name> --role officer --org "Evanston PD"text ### Technical Analysis The Skill instructs users or agents to execute Python scripts from the fixed external directory `/home/openclaw/.openclaw/workspace/evez-osint-engine`. These scripts are not included in the audited project, which contains only `SKILL.md`. Their implementation, provenance, version, and security properties therefore cannot be verified by auditing this package. The instructions do not require any cryptographic hash, digital signature, trusted package version, ownership check, or other integrity validation before execution. They also assume that the external path contains the intended engine. Python executes the referenced files with the permissions of the invoking user, so any party able to create or replace files at that location could cause arbitrary Python code to run when the documented commands are followed. This is an insecure coding and packaging practice rather than proof that the absent scripts are themselves malicious. Exploitation depends on an attacker first obtaining write access to the referenced directory or its files. ### Attack Path 1. An attacker gains the ability to create or modify files under `/home/openclaw/.openclaw/workspace/evez-osint-engine`, whether through another local vulnerability, an insecure deployment process, or overly broad filesystem permissions. 2. The attacker places malicious code in `core/suspec ...[truncated 961 chars]- Remediation
View remediation
Remediation Suggestions
- Include the required implementation within the audited Skill package rather than relying on a fixed external workspace.
- Resolve executable paths relative to the verified Skill installation directory instead of using
/home/openclaw/.openclaw/workspace/evez-osint-engine. - If an external component is necessary, pin it to an immutable version and verify a cryptographic hash or trusted digital signature before execution.
- Validate that executable files are regular files with expected ownership and restrictive permissions, and reject symbolic links or unexpected path substitutions.
- Document the trusted source, installation procedure, expected version, and integrity values for the engine.
- Run the engine in a least-privilege sandbox or container with only the filesystem and network access required for its stated purpose.
- Add explicit failure behavior so execution stops if integrity, ownership, path, or version validation fails.
