core-agent-ide/codex-cli
Michael Bolin a4b51f6b67
feat: use Landlock for sandboxing on Linux in TypeScript CLI (#763)
Building on top of https://github.com/openai/codex/pull/757, this PR
updates Codex to use the Landlock executor binary for sandboxing in the
Node.js CLI. Note that Codex has to be invoked with either `--full-auto`
or `--auto-edit` to activate sandboxing. (Using `--suggest` or
`--dangerously-auto-approve-everything` ensures the sandboxing codepath
will not be exercised.)

When I tested this on a Linux host (specifically, `Ubuntu 24.04.1 LTS`),
things worked as expected: I ran Codex CLI with `--full-auto` and then
asked it to do `echo 'hello mbolin' into hello_world.txt` and it
succeeded without prompting me.

However, in my testing, I discovered that the sandboxing did *not* work
when using `--full-auto` in a Linux Docker container from a macOS host.
I updated the code to throw a detailed error message when this happens:


![image](https://github.com/user-attachments/assets/e5b99def-f00e-4ade-a0c5-2394d30df52e)
2025-05-01 12:34:56 -07:00
..
bin fix: /bug report command, thinking indicator (#381) 2025-04-18 18:13:34 -07:00
examples fix: typos in prompts and comments (#195) 2025-04-17 07:12:39 -07:00
scripts chore: make build process a single script to run (#757) 2025-05-01 08:36:07 -07:00
src feat: use Landlock for sandboxing on Linux in TypeScript CLI (#763) 2025-05-01 12:34:56 -07:00
tests fix: input keyboard shortcut opt+delete (#685) 2025-04-30 17:17:13 -07:00
.dockerignore (fix) update Docker container scripts (#47) 2025-04-16 12:02:41 -07:00
.editorconfig Initial commit 2025-04-16 12:56:08 -04:00
.eslintrc.cjs Initial commit 2025-04-16 12:56:08 -04:00
.gitignore chore: make build process a single script to run (#757) 2025-05-01 08:36:07 -07:00
build.mjs chore(build): cleanup dist before build (#477) 2025-04-21 12:35:25 -04:00
Dockerfile fix: only allow running without sandbox if explicitly marked in safe container (#699) 2025-04-28 07:48:38 -07:00
HUSKY.md Feat/add husky (#223) 2025-04-17 07:18:43 -07:00
ignore-react-devtools-plugin.js Initial commit 2025-04-16 12:56:08 -04:00
package.json chore: make build process a single script to run (#757) 2025-05-01 08:36:07 -07:00
require-shim.js Initial commit 2025-04-16 12:56:08 -04:00
tsconfig.json fix: /bug report command, thinking indicator (#381) 2025-04-18 18:13:34 -07:00
vite.config.ts fix: add empty vite config file to prevent resolving to parent (#273) 2025-04-17 17:03:15 -07:00