T09 · Insecure Skill Coding Practices
- Location
SKILL.md:24- Finding
OAuth Client Secret Exposed Through Command-Line Arguments
- Content
View full analysis
--client-secret --scope api --token-endpoint https://oauth2.bitquery.io/oauth2/token ``` `references/usage-patterns.md:8-14`: ```bash uxc auth oauth login bitquery-graphql \ --endpoint https://streaming.bitquery.io/graphql \ --flow client_credentials \ --client-id \ --client-secret \ --scope api \ --token-endpoint https://oauth2.bitquery.io/oauth2/token ``` ### Technical Analysis The documentation instructs users and agents to replace the placeholder passed to `--client-secret` with an actual OAuth client secret. Supplying sensitive credentials directly as command-line arguments can expose them through several channels: - Shell history files - Process argument inspection while the command is running - Terminal session recording - Command execution and diagnostic logs - Agent prompts, tool-call records, and conversation transcripts - CI/CD job output or audit telemetry that records invoked commands The examples do not contain a hardcoded real credential. The vulnerability arises when users follow the documented procedure and insert their own secret into the command. Exploitation requires access to one of the local or centralized records containing the command, or sufficient local permissions to observe process arguments. ### Attack Path 1. A user or agent replaces `` with a valid Bitquery application secret. 2. The OAuth login command runs with that secret in its argument vector. 3. The command is retained in shell history, execution logs, an agent transcr ...[truncated 1214 chars]- Remediation
View remediation
