Codex curated plugin startup sync triggers CrowdStrike Falcon SIGKILL and desktop crash
Summary
Codex Desktop and Codex CLI trigger CrowdStrike Falcon Sensor detections on macOS during curated plugin startup sync. Falcon kills the git clone child process with SIGKILL, after which Codex Desktop shows a crash page.
This appears tied to the built-in sync of https://github.com/openai/plugins.git into $HOME/.codex/.tmp/plugins-clone-*. Disabling the entire plugins feature prevents the detection/crash, but pinning a local marketplace snapshot does not prevent the built-in startup clone.
Environment
- Codex CLI:
codex-cli 0.135.0 - Install method: Homebrew cask
codex 0.135.0 - Codex Desktop:
/Applications/Codex.app - macOS:
26.5build25F71 - CPU: Apple Silicon / arm64
- Git:
git version 2.54.0from Homebrew - EDR: CrowdStrike Falcon Sensor
- CLI binary signature:
Developer ID Application: OpenAI OpCo, LLC (2DC432GLL2)- binary:
/opt/homebrew/Caskroom/codex/0.135.0/codex-aarch64-apple-darwin
Reproduction
- Use Codex with the plugin feature enabled.
- Start Codex Desktop via
codex app .or start a normal Codex session that initializes plugin sync. - Codex launches a child process similar to:
git clone --depth 1 https://github.com/openai/plugins.git $HOME/.codex/.tmp/plugins-clone-<random>
- CrowdStrike Falcon terminates the child process.
- Codex Desktop shows a crash page.
Actual Behavior
Falcon shows a notification:
CrowdStrike Falcon Sensor
A process was terminated because malicious behavior was detected.
Codex Desktop shows:
An error has occurred
Codex crashed with the following error:
(code=null, signal=SIGKILL).
Most recent error: {"timestamp":"2026-06-01T20:24:59.512239Z","level":"WARN","fields":{"message":"git sync failed for curated plugin sync; falling back to GitHub HTTP","error":"git clone curated plugins repo failed with status signal: 9 (SIGKILL): Cloning into '$HOME/.codex/.tmp/plugins-clone-<random>'...","git_binary":"git","target":"codex_core_plugins::startup_sync"}}
Codex local logs contain repeated entries like:
codex_core_plugins::startup_sync | git sync failed for curated plugin sync; falling back to GitHub HTTP error=git clone curated plugins repo failed with status signal: 9 (SIGKILL): Cloning into '$HOME/.codex/.tmp/plugins-clone-<random>'... git_binary="git"
Observed repeatedly around local times:
2026-06-01 21:15:36
2026-06-01 21:16:32
2026-06-01 21:16:49
2026-06-01 23:01:56
2026-06-01 23:02:58
2026-06-01 23:12:15
2026-06-01 23:12:20
2026-06-01 23:25:18
Expected Behavior
Codex should not crash when plugin marketplace refresh is killed or blocked by EDR. Ideally it should:
- Treat plugin sync failure as non-fatal.
- Continue with the existing cached marketplace snapshot if present.
- Provide a clear warning that plugin marketplace refresh failed.
- Avoid repeated fresh clones into hidden temp directories on every startup after EDR intervention.
Investigation Notes
codex --version,codex --help,codex doctor, and minimalcodex execcan exit successfully, but Falcon still reports detections when plugin sync runs.- The killed process is the
git clonechild, not necessarily the top-level Codex process. - Disabling all plugins works around the issue:
[features]
plugins = false
- After setting
plugins = false, restarting Codex produced no newstartup_sync,plugins-clone,git clone,signal: 9, orSIGKILLentries. - Re-enabling plugins and adding a local marketplace stanza pointing to the existing cached snapshot did not prevent Codex Desktop from launching the built-in remote clone:
[marketplaces.openai-curated]
source_type = "local"
source = "$HOME/.codex/.tmp/plugins"
Process still appeared:
git clone --depth 1 https://github.com/openai/plugins.git $HOME/.codex/.tmp/plugins-clone-<random>
- Several surviving partial clone directories had newest files under
plugins/nvidia/..., especiallyplugins/nvidia/skills/physical-ai-infrastructure-setup-and-resilient-scaling/.... This may be a content-specific Falcon trigger, but it is not conclusive because Codex clones the whole marketplace repository before individual plugin enablement is applied.
Suggested Improvements
- Make curated plugin sync failure non-fatal for the desktop app.
- If a cached curated marketplace exists, fall back to it without crashing.
- Add an explicit config option to disable only curated marketplace remote refresh while keeping already-installed/local plugins enabled.
- Consider avoiding hidden temp-directory full-repo clone behavior for curated marketplace refresh, or provide enterprise/EDR-friendly documentation for allowlisting.
- If possible, identify and remove content from
openai/pluginsthat triggers common EDR heuristics.
Current Workaround
Disable the plugin feature entirely:
[features]
plugins = false
This prevents the Falcon-triggering startup sync path, but also disables plugin functionality.