T09 · Insecure Skill Coding Practices
- Location
scripts/auth_oura_oauth.py:55- Finding
OAuth Client Secret Exposed Through Command-Line Arguments
- Content
View full analysis
" \ --client-secret "" \ --redirect-uri "http://localhost:8765/callback" ``` ### Technical Analysis The authentication script requires the Oura OAuth client secret to be supplied as a command-line argument. Command-line arguments are not an appropriate transport for secrets because they can be retained or exposed through: - Shell history files. - Process-listing and process-inspection interfaces. - Terminal session recordings. - CI/CD, orchestration, or automation logs. - Diagnostic and monitoring tools that record command invocations. Sending the client secret to Oura's official HTTPS token endpoint is necessary for the declared OAuth functionality. The vulnerability is the local method used to supply the secret, not the network transmission itself. ### Attack Path 1. A user follows the documented authentication command and supplies the OAuth client secret using `--client-secret`. 2. The shell records the command in its history, or the argument remains temporarily visible through process inspection. 3. Another local account, support operator, monitoring service, or log reader obtains the command-line value. 4. The exposed secret is used to impersonate or misuse the registered OAuth client, subject to Oura's OAuth controls and the attacker ...[truncated 565 chars]- Remediation
View remediation
