T07 · Tool Hijacking and Spoofing
- Location
openclaw.plugin.json:9- Finding
Plugin Entrypoint References an External Unaudited Script
- Content
View full analysis
Vulnerability Details
File Location:
openclaw.plugin.json, line 9
Vulnerability Type: External tool entrypoint replacement
Risk Level: HighVulnerable Code
json "entry": "/mnt/h/AI/openclaw_workspace/video_translate/skills/capture_doubao_scroll_v2.py"Technical Analysis
The plugin delegates execution to an absolute filesystem path outside the audited package. The referenced Python implementation is not included among the project files, so its behavior and integrity cannot be verified as part of this package.
This configuration also conflicts with the package-relative command documented in
SKILL.md:bash python scripts/capture_doubao_scroll_v2.py --hwnd <window_handle> --output-dir <dir> --stop-auto --json-outputBecause the external target can be modified independently of the reviewed package, control over that path permits replacement of the implementation while retaining the trusted
capture_translationtool identity. The effective code executed by the plugin can therefore differ from the code—or behavior—reviewed at installation time.Attack Path
- The package is installed or loaded with
openclaw.plugin.jsonas its plugin descriptor. - An attacker who can write to
/mnt/h/AI/openclaw_workspace/video_translate/skills/creates or replacescapture_doubao_scroll_v2.py. - The agent or user invokes the legitimate-looking
capture_translationtool. - The plugin resolves its entrypoint to the attacker-controlled external file.
- The substituted Python code executes with the privileges and environmental access of the plugin host.
Exploitation requires write access to the referenced external path or another means of controlling its resolution.
Impact Assessment
Successful exploitation permits arbitrary Python execution in the plugin host's security context. The resulting scope may include access to files, environment variables, GUI resource ...[truncated 303 chars]
- The package is installed or loaded with
- Remediation
View remediation
Remediation Suggestions
- Include
capture_doubao_scroll_v2.pywithin the distributed package and configure a package-relative entrypoint. - Canonicalize the resolved entrypoint and reject startup if it escapes the package root.
- Ensure the packaged implementation and its parent directories are not writable by untrusted users.
- Record and verify a cryptographic hash or signed manifest for executable plugin files before invocation.
- Fail closed when the bundled entrypoint is missing rather than falling back to an external path.
- Align
openclaw.plugin.jsonwith the package-relative location documented inSKILL.md. - Audit the referenced Python implementation before deployment, because it was not included in the supplied project.
- Include
