T09 · Insecure Skill Coding Practices
- Location
SKILL.md:53- Finding
Authentication JWT Exposed Through Command-Line Arguments
- Content
View full analysis
info_zhiyun.json # Merge all three sources claspider merge --term 25-26-2 --category speciality --dept 00048 \ --zhiyun-token eyJhbGc... --zhiyun-week 2026-04-13 --json > info_merged.json ``` The command interface is also documented as accepting the credential directly: ```text zhiyun --token --week-start 2026-04-13 [--detail] [--json] ``` ### Technical Analysis The documentation instructs users to copy the `_token` authentication cookie from an active browser session and provide that JWT directly as a command-line argument. Command-line arguments are not an appropriate channel for secrets because they may be exposed through: - Shell history files. - Process inspection utilities and operating-system process interfaces. - Terminal session recording. - Command auditing, telemetry, crash reports, or diagnostic logs. - Wrapper scripts and automation logs that preserve the complete command. Although the displayed value is only a placeholder, users following the documented workflow must replace it with a real bearer token. Possession of such a token may permit another party to issue authenticated requests as the affected user until the token expires or is revoked. The reviewed artifact contains only `SKILL.md`. The underlying Rust implementation was not present, so token redaction, token lifetime, API authorization boundaries, and any additional runtime protections could not be verified. ### Attack Path 1. A user extracts the `_token` JWT from the authenticated `onlineroomse.pku.edu.cn` browser cook ...[truncated 1239 chars]- Remediation
View remediation
