Opus finding
Error message from gh is forwarded verbatim to clients, potentially leaking environment details
- dashboard/app/api/secrets/route.ts:101-104
- dashboard/app/api/secrets/route.ts:117-119
Node's child_process errors include the full command line in `error.message`. For POST that means the secret `value` will be echoed back in the error body (e.g., `Command failed: gh secret set FOO -b <plaintext>`), leaking the secret to the response and any logs that capture it. Combined with the argv-leak issue above, a failed set call can return the plaintext secret to the caller.
Recommendation
Do not forward `error.message` from child_process errors. Return a generic 'Failed to set secret' and log details server-side after redacting argv.