T09 · Insecure Skill Coding Practices
- Location
SKILL.md:55- Finding
Remote Desktop Password Exposed Through Command-Line Arguments
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:55-62
Vulnerability Type: Plaintext credential exposure through process arguments
Risk Level: HighVulnerable Code:
bash # xfreerdp (recommended) xfreerdp /v:HOST /u:USER /p:PASS /size:1920x1080 /dynamic-resolution # With SSH tunnel first ssh -L 3389:localhost:3389 user@jumphost xfreerdp /v:localhost /u:USERThe same unsafe pattern also appears in
protocols.md:19-28:bash xfreerdp /v:HOST /u:USER /p:PASS \ /size:1920x1080 \ # Resolution /dynamic-resolution \ # Auto-resize /clipboard \ # Enable clipboard /sound:sys:alsa \ # Audio /drive:share,/home/user \ # Share folder /sec:tls \ # Force TLS /cert:ignore # Skip cert validation (use carefully)Technical Analysis
Passing an RDP password through the
/p:PASSargument places sensitive authentication material in the command line. Depending on the operating system and execution environment, the value may be exposed through:- Shell history files
- Process-listing utilities
- Process accounting and monitoring systems
- Terminal transcripts
- Automation, debugging, or audit logs
- Parent processes that record invoked commands
This guidance conflicts with the project's stated policy that plaintext passwords must not be saved. Avoiding profile storage does not prevent credentials from being persisted in shell history or operational logs.
Attack Path
- A user substitutes a real password for
PASSand runs the documented command. - The command is recorded in shell history, process telemetry, or terminal logs.
- A local user, monitoring process, support operator, or compromised log collector reads the exposed argument.
- The attacker extracts the username, target host, and password.
- The attacker uses the credentials to authenticate to the RDP service or another service w ...[truncated 401 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
/p:PASSfrom all examples and allowxfreerdpto prompt interactively. - Recommend a platform credential manager or another protected credential-input mechanism where noninteractive operation is necessary.
- Warn users not to place passwords in shell commands, scripts, host profiles, environment variables, or command history.
- Review terminal, shell-history, and automation logs if the published example has already been used with real credentials.
- Rotate any password that may have been entered through this command-line pattern.
- Remove
