Skip to content

fix(security): scrub credentials from voice playback subprocesses - #70357

Closed
zapabob wants to merge 1 commit into
NousResearch:mainfrom
zapabob:fix/voice-mode-playback-env-scrub
Closed

fix(security): scrub credentials from voice playback subprocesses#70357
zapabob wants to merge 1 commit into
NousResearch:mainfrom
zapabob:fix/voice-mode-playback-env-scrub

Conversation

@zapabob

@zapabob zapabob commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Spawn system audio players (ffplay / afplay / aplay) with hermes_subprocess_env(inherit_credentials=False).
  • Prevent gateway tokens and provider API keys from leaking into OS media helpers.
  • Add a regression test asserting scrubbed env on Popen.

Salvage / credit

Sibling of #70342 / incomplete #56332 (TTS/STT command scrub) on the voice-mode playback path.

Test plan

  • pytest tests/tools/test_voice_mode_playback_env_scrub.py -q

## Summary
- Spawn system audio players (`ffplay` / `afplay` / `aplay`) with `hermes_subprocess_env(inherit_credentials=False)`.
- Prevent gateway tokens and provider API keys from leaking into OS media helpers.
- Add a regression test asserting scrubbed env on `Popen`.

## Salvage / credit
Sibling of NousResearch#70342 / incomplete NousResearch#56332 (TTS/STT command scrub) on the voice-mode playback path.
@alt-glitch alt-glitch added type/security Security vulnerability or hardening tool/tts Text-to-speech and transcription area/auth Authentication, OAuth, credential pools P3 Low — cosmetic, nice to have needs-repro Bug needs reproduction steps sweeper:risk-security-boundary Sweeper risk: may affect sandboxing, auth, credentials, or sensitive data labels Jul 23, 2026
@teknium1

Copy link
Copy Markdown
Contributor

Merged into main via consolidated salvage PR #73514 (merge e807b7106c). Your playback-subprocess credential scrub (ffplay/afplay/…) was cherry-picked with your authorship.

Your contribution is credited to you in git history. Thank you! Closing this PR as merged-via-salvage.

@teknium1 teknium1 closed this Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/auth Authentication, OAuth, credential pools needs-repro Bug needs reproduction steps P3 Low — cosmetic, nice to have sweeper:risk-security-boundary Sweeper risk: may affect sandboxing, auth, credentials, or sensitive data tool/tts Text-to-speech and transcription type/security Security vulnerability or hardening

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants