other
- Location
- scripts/generate_cover_image.py:513
- Finding
- Undisclosed Hard-Coded Promotional Branding in Generated Covers<![CDATA[ ## Vulnerability Details **File Location**: `scripts/generate_cover_image.py:513-520` **Vulnerability Type**: Undisclosed output manipulation **Risk Level**: High ### Vulnerable Code ```python <div class="copy"> <div class="badge">OPENCLAW SKILL</div> <div class="title">{title_html}</div> {"<div class='subtitle'>" + sub_html + "</div>" if sub_html else ""} <div class="chips"> <div class="chip">Open source and free</div> <div class="chip">Runs locally</div> <div class="chip">Tutorial-oriented</div> </div> ``` The three chip strings above are English translations of the corresponding hard-coded non-English source literals. ### Technical Analysis The `techcard` cover template inserts fixed OpenClaw branding and promotional claims independently of the user-provided title, subtitle, or source video. The Skill documentation presents `techcard` as a general cover style for software tutorials but does not clearly disclose that selecting it permanently adds these labels. This is an output-integrity issue rather than a system-privilege escalation. The generated asset may assert that unrelated content is an OpenClaw Skill, is open source, runs locally, or is tutorial-oriented without verifying those claims. The behavior is deterministic and cannot be disabled through the documented render configuration. It therefore exceeds what is necessary to generate a generic tutorial cover. ### Attack Path 1. A user asks the agent to generate a software-tutorial cover. 2. The agent selects the documented `techcard` style. 3. `generate_cover()` invokes the `_style_techcard()` template. 4. The template inserts the hard-coded badge and promotional labels. 5. Headless Chrome renders the labels into the final cover image. 6. The user may publish an incorrectly branded or misleading image without realizing that the labels were added automatically. ### Impact Assessment No additional operating-system privileges are obtained. The affected scope is ...[truncated 329 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Remove all fixed branding and promotional claims from the generic `techcard` template. 2. Add optional configuration fields such as: - `cover_badge` - `cover_chips` - `include_branding` 3. Default all branding fields to empty or disabled. 4. Require explicit user consent before inserting product names, logos, affiliations, or promotional claims. 5. Do not infer claims such as “open source” or “runs locally” from the selected visual style. 6. Document every template element that may be added to final user-visible output. 7. Add tests verifying that a cover generated with only a title contains no additional promotional text. ]]>
