12306 Old

ReviewAudited by ClawScan on May 10, 2026.

Overview

This skill is not obviously malicious, but it handles 12306 login sessions and local cookies with incomplete disclosure and scoping.

Use this only if you are comfortable letting it interact with your 12306 account. Review the code first, install Playwright only from trusted sources, avoid shared environments, delete 12306_cookies.json after use if you do not want a saved session, and require explicit confirmation before any future booking or purchase workflow.

Findings (4)

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

The skill can operate in the context of a real 12306 account, so misuse or misunderstanding could expose account access or enable actions tied to the user's identity.

Why it was flagged

The client reads 12306 account credential environment variables and drives a login flow, while the supplied metadata declares no required credentials or environment variables.

Skill content
self.username = username or os.getenv("RAILWAY_12306_USERNAME")
self.password = password or os.getenv("RAILWAY_12306_PASSWORD")
...
self.page.goto(f"{self.base_url}/index/login")
Recommendation

Declare the credential contract clearly, explain exactly when the account is used, and require explicit user approval before any authenticated or account-changing action.

What this means

A local cookie file may preserve a logged-in 12306 session; if copied, leaked, or reused unexpectedly, it could expose the user's account session.

Why it was flagged

The code automatically persists and reloads browser cookies in a local JSON file, but the documentation does not describe retention, file protections, deletion, or limits on reuse.

Skill content
cookie_file: str = "12306_cookies.json"
...
self.page.context.add_cookies(cookies)
...
json.dump(self.page.context.cookies(), f, ensure_ascii=False, indent=2)
Recommendation

Store cookies only with explicit consent, protect the file, document how to delete it, and provide an option to disable session persistence.

What this means

Automated browser actions could affect the user's 12306 session if expanded beyond search or used without close supervision.

Why it was flagged

The skill uses browser automation to interact with the 12306 website. This is purpose-aligned, but it means the agent can click controls in an authenticated browser session.

Skill content
self.browser = playwright.chromium.launch(headless=self.headless)
...
search_btn.click()
Recommendation

Keep browser actions user-directed and require confirmation before any booking, purchase, cancellation, or account-changing action.

What this means

Users or agents may need to install dependencies manually, which increases the chance of installing the wrong package or using an unreviewed setup path.

Why it was flagged

The code depends on Playwright, but the supplied install specification is absent and requirements do not declare setup details for this dependency.

Skill content
from playwright.sync_api import sync_playwright, Page, Browser
Recommendation

Provide a pinned dependency/install specification and document the expected Playwright setup steps.