Watermark Remover

PassAudited by ClawScan on May 1, 2026.

Overview

This skill appears to do its stated local PDF watermark-removal task, but users should confirm installs and output paths because it can install PDF libraries and write or overwrite PDF files.

Before installing or running this skill, make sure you have permission to remove the watermark, approve any pip installs only if you trust the environment, choose a safe output path, and keep the original PDF as a backup.

Findings (3)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A mistaken output path could replace a file or create modified copies of sensitive documents.

Why it was flagged

The script writes a new PDF to a derived or user-supplied output path. This is purpose-aligned, but it can overwrite an existing file if the chosen output path already exists.

Skill content
if output_path is None: ... output_path = f"{base}_no_watermark{ext}" ... with open(output_path, "wb") as f: writer.write(f)
Recommendation

Confirm the input and output paths before running, keep a backup of the original PDF, and avoid pointing --output at existing important files.

What this means

Approving installation will add external packages to the Python environment.

Why it was flagged

The helper emits unpinned pip install commands for required libraries. This is expected for the skill, but it pulls third-party code from the Python package ecosystem.

Skill content
return f"{sys.executable} -m pip install {lib_name} -q"
Recommendation

Only approve dependency installation in a trusted environment; consider installing pinned, reviewed versions of pypdf and PyMuPDF yourself.

What this means

The user may think the output was automatically verified even if the verification step fails.

Why it was flagged

The verification function name is reused as a local variable, making the advertised post-removal verification step unreliable in the included script.

Skill content
if result.get('success'):
        verify_result = verify_result(result['output'])
Recommendation

Manually open and inspect the output PDF, and treat the script's verification result as advisory rather than guaranteed.