roadshow-capture-skill

ReviewAudited by ClawScan on May 13, 2026.

Overview

The skill mostly matches its PDF-capture purpose, but it automatically accepts roadshow terms and uses loose URL checks that could submit your email to an unintended site.

Install only if you are authorized to access and capture these roadshows. Verify the exact website hostname before running it, expect the skill to submit your email and click Agree/I Agree controls, and set a private output directory instead of leaving sensitive PDFs and screenshots in /tmp.

Findings (6)

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 crafted or mistaken link whose path or query merely contains an allowed domain string could be treated as supported and loaded by the browser automation.

Why it was flagged

The platform router checks for allowed domains by substring instead of parsing and enforcing the URL hostname, then passes the original URL to automation scripts.

Skill content
if "netroadshow.com" in url: ... elif "dealroadshow.com" in url or "dealroadshow.finsight.com" in url: ... cmd = [sys.executable, str(script), "--url", args.url]
Recommendation

Require exact hostname allowlisting with urllib.parse or equivalent, reject look-alike/crafted URLs, and confirm the host before submitting the user's email.

What this means

The agent may accept legal or access terms on the user's behalf before the user has reviewed or explicitly approved them.

Why it was flagged

The documented workflow instructs automatic clicking through disclaimer/agree and session-start choices, including an explicit instruction not to ask the user for the start choice.

Skill content
pp.evaluate('document.querySelector(".btn-agree").click()') ... 永远选 Start from beginning(硬性约束,不用问用户)
Recommendation

Add an explicit user confirmation step before clicking Agree/I Agree or otherwise entering a legally gated roadshow session.

What this means

Your work email will be sent to the provider and may appear in local logs or terminal history if supplied as a command-line argument.

Why it was flagged

The script uses the user's email as the access identity for the roadshow service and prints it to console output.

Skill content
email = args.email or os.environ.get("NRS_EMAIL") ... email_input.fill(args.email) ... print(f"2. Filling email: {args.email}")
Recommendation

Use this only with an email authorized for the roadshow, prefer environment/config storage over command-line arguments, and avoid sharing logs that include the email.

What this means

Roadshow slides may be confidential, and temporary local PNG/PDF files can remain after the run.

Why it was flagged

The skill persists captured slide images and PDFs locally, with a default output directory under /tmp.

Skill content
parser.add_argument("--output", "-o", default="/tmp/roadshow_output", help="输出目录") ... pp.screenshot(path=path, full_page=False) ... images_to_pdf(screenshots, str(pdf_path))
Recommendation

Choose a private output directory, review local file permissions, and delete temporary screenshots/PDFs when no longer needed.

What this means

The remote site may see the automation as a Safari browser rather than the actual Playwright Chromium environment.

Why it was flagged

The skill intentionally changes the browser user-agent to improve server trust; this is disclosed and tied to browser automation compatibility, but it is still a trust/identity tradeoff.

Skill content
User-Agent 设置为 macOS Safari 以提高服务端信任度
Recommendation

Use only where this automation is permitted by the roadshow provider's terms and your organization.

What this means

Installation may resolve to whatever Playwright/Pillow versions are current in the package index at install time.

Why it was flagged

The skill depends on external pip packages for its core function, and the artifact does not pin exact package versions.

Skill content
install:
  - kind: pip
    packages: [playwright, pillow]
Recommendation

Install in a controlled environment and consider pinning/locking dependency versions for reproducible use.