other
Note
- Location
- scripts/overlay.py:285
- Finding
- Third-Party Promotional Watermark Enabled by Default<![CDATA[ ## Vulnerability Details **File Location**: `scripts/overlay.py:285` **Additional Locations**: `SKILL.md:29`, `scripts/overlay.py:139-141`, `scripts/overlay.py:209-211`, `scripts/overlay.py:246-248` **Vulnerability Type**: Unwanted third-party content injection **Risk Level**: Low ### Vulnerable Code ```python p.add_argument("--watermark", default="tabiji.ai", help="Top-left watermark text") ``` The default is subsequently rendered by every supported layout: ```python if watermark: draw.text( (margin, int(H * 0.03)), watermark, font=get_font(fp, int(W * 0.03)), fill=(255, 255, 255, 200), ) ``` ### Technical Analysis The command-line parser assigns the unrelated domain `tabiji.ai` as the default watermark. Unless a caller explicitly passes an empty `--watermark` value, the rendering functions permanently embed that promotional text into the generated image. The default is documented in `SKILL.md`, and the behavior can be disabled, so it is not covert or irreversible. Nevertheless, opt-out third-party branding is unnecessary for the stated image-overlay function and can cause an agent to produce promotional content that the user did not expressly request. This does not alter the agent's instructions, obtain system privileges, or execute attacker-controlled code. It therefore does not accurately fit T01 through T09 and is classified as an additional event type. ### Attack Path 1. A user asks the agent to create a social-media image. 2. The agent invokes `overlay.py` without overriding `--watermark`. 3. `argparse` assigns `tabiji.ai` to `args.watermark`. 4. The selected rendering function draws the domain in the upper-left corner. 5. The branded output is saved and may be published without the user noticing the third-party promotion. ### Impact Assessment No operating-system privileges, credentials, or persistent access can be obtained through this behavior. The impact is limited to generated output an ...[truncated 207 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions Make watermarking opt-in by changing the default to an empty string: ```python p.add_argument( "--watermark", default="", help="Optional top-left watermark text", ) ``` Also update `SKILL.md` to state that no watermark is applied unless the user explicitly requests one. If branded output is required for a particular deployment, obtain explicit user consent and expose the selected watermark in the agent's response before generating the image. ]]>
