T09 · Insecure Skill Coding Practices
- Location
SKILL.md:39- Finding
Sensitive credentials are accepted through command-line arguments
- Content
View full analysis
--key proxygate listings rotate-key --oauth2 ``` From `references/commands.md:5-7`: ```markdown - `--gateway ` — Override gateway URL (default: https://gateway.proxygate.ai) - `--keypair ` — Path to Solana keypair JSON file - `--api-key ` — Override API key ``` From `references/commands.md:18`: ```bash proxygate login --key pg_live_... # authenticate with API key ``` ### Technical Analysis The documented workflows place ProxyGate API keys, upstream API keys, and OAuth tokens directly in command-line arguments. Once placeholders are replaced with real credentials, those values may become visible through: - Shell history files. - Process listings such as `ps`, `/proc//cmdline`, or process-monitoring software. - Terminal capture and session-recording systems. - CI/CD logs and command tracing. - Agent transcripts or tool-execution logs. - Crash diagnostics and observability platforms that record process arguments. This conflicts with the principle that sensitive values should be transmitted using channels designed to suppress disclosure, such as protected standard input, no-echo interactive prompts, credential stores, or restricted-permission secret files. The documented `--gateway ` option inc ...[truncated 2516 chars]- Remediation
View remediation
--key-stdin`. - Alternatively, prompt securely when a secret option is ...[truncated 13 chars]
