$ the-wire · showcase
macOS Codex sandbox hardened against terminal input injection
By RepoJournal · Filed · About OpenAI
Codex patched a sandbox escape that let a terminal-tied child queue input for the unsandboxed shell, and OpenAI SDKs shipped a patch release adding GPT-6-Astra support.
Codex hardened its macOS sandbox against a terminal input injection vector [1]. Sandboxed commands inherited the user's controlling terminal, so a child could use `TIOCSTI` to queue input for the unsandboxed shell that resumes after Codex exits. The change appends a `file-ioctl` denial for `TIOCSTI` to the shared Seatbelt policy and adds a PTY integration test proving the injection path is now blocked.
openai-python 3.8.0 adds GPT-6-Astra and related features [2], with a breaking model change: the public ResponsesClientEvent models become discriminated unions, so builders must use `ResponseCreate` instead of the response-creation classes. The same model is being added to Codex for Amazon Bedrock, preserving metadata while applying Bedrock variants [3], and the Bedrock examples in openai-node now report nonstreaming failures instead of exiting cleanly [4].
The Codex voice host now validates its packaged GStreamer runtime over a new `initializeRuntime` protocol exchange before opening audio devices, restricting plugin discovery and library search paths [5]. ThreadManager accepts an injectable attachment store with a default that preserves bytes as media-typed data URLs [6].
Action items
- → Upgrade openai-python to 3.8.0 before your next deploy to get GPT-6-Astra support openai/openai-python [plan]
- → Review ResponsesClientEvent usage against the v3.8.0 discriminated union change openai/openai-python [immediate]
- → Rebuild Codex sandbox deployments to pick up the TIOCSTI fix openai/codex [immediate]
References
- [1] Harden the macOS sandbox against terminal input injection (#42590) ↗ openai/codex
- [2] feat(api): add gpt-6-astra and related features ↗ openai/openai-python
- [3] Add GPT-6-Astra to Amazon Bedrock catalogs ↗ openai/codex
- [4] fix(examples): report nonstreaming request failures (#2603) ↗ openai/openai-node
- [5] Initialize the packaged GStreamer runtime in the voice host ↗ openai/codex
- [6] Add an injectable attachment store to ThreadManager ↗ openai/codex