core-agent-ide/codex-rs/core
jif-oai 2b5d0b2935
feat: update sandbox policy to allow TTY (#7580)
**Change**: Seatbelt now allows file-ioctl on /dev/ttys[0-9]+ even
without the sandbox extension so pre-created PTYs remain interactive
(Python REPL, shells).

**Risk**: A seatbelted process that already holds a PTY fd (including
one it shouldn’t) could issue tty ioctls like TIOCSTI or termios changes
on that fd. This doesn’t allow opening new PTYs or reading/writing them;
it only broadens ioctl capability on existing fds.

**Why acceptable**: We already hand the child its PTY for interactive
use; restoring ioctls is required for isatty() and prompts to work. The
attack requires being given or inheriting a sensitive PTY fd; by design
we don’t hand untrusted processes other users’ PTYs (we don't hand them
any PTYs actually), so the practical exposure is limited to the PTY
intentionally allocated for the session.

**Validation**:
Running
```
start a python interpreter and keep it running
```
Followed by:
* `calculate 1+1 using it` -> works as expected
* `Use this Python session to run the command just fix in
/Users/jif/code/codex/codex-rs` -> does not work as expected
2025-12-04 17:58:58 +00:00
..
src feat: update sandbox policy to allow TTY (#7580) 2025-12-04 17:58:58 +00:00
templates fix: parallel tool call instruction injection (#6893) 2025-11-19 11:01:57 +00:00
tests feat: update sandbox policy to allow TTY (#7580) 2025-12-04 17:58:58 +00:00
Cargo.toml feat: experimental support for skills.md (#7412) 2025-12-01 20:22:35 -08:00
gpt-5.1-codex-max_prompt.md feat: arcticfox in the wild (#6906) 2025-11-19 16:31:06 +00:00
gpt_5_1_prompt.md chore(core) Update shell instructions (#6679) 2025-11-17 13:05:15 -08:00
gpt_5_codex_prompt.md chore(core) Update shell instructions (#6679) 2025-11-17 13:05:15 -08:00
prompt.md Add file reference guidelines to gpt-5 prompt (#3651) 2025-09-15 08:35:30 -07:00
README.md docs: align sandbox defaults, dedupe sections and improve getting started guide (#5357) 2025-10-19 16:41:10 -07:00
review_prompt.md docs: Fix markdown list item spacing in codex-rs/core/review_prompt.md (#4144) 2025-10-30 17:39:21 -07:00

codex-core

This crate implements the business logic for Codex. It is designed to be used by the various Codex UIs written in Rust.

Dependencies

Note that codex-core makes some assumptions about certain helper utilities being available in the environment. Currently, this support matrix is:

macOS

Expects /usr/bin/sandbox-exec to be present.

Linux

Expects the binary containing codex-core to run the equivalent of codex sandbox linux (legacy alias: codex debug landlock) when arg0 is codex-linux-sandbox. See the codex-arg0 crate for details.

All Platforms

Expects the binary containing codex-core to simulate the virtual apply_patch CLI when arg1 is --codex-run-as-apply-patch. See the codex-arg0 crate for details.