Windows desktop app: Norton can block PowerShell after Codex activity
Product surface
Codex Windows desktop app.
Issue
On Windows, Codex activity can trigger Norton Antivirus heuristic detections around PowerShell/script execution. Observed detections include PowerShell command-line detection and generic .ps1 script detection.
The impact can be worse than a single failed Codex command: after restart, Norton may continue blocking or quarantine PowerShell-related execution, leaving the Windows environment degraded because PowerShell itself is unavailable or blocked until the AV action is manually remediated.
Expected behavior
Codex should avoid Windows PowerShell invocation patterns that commonly trigger AV heuristics where possible, and should not lead to system-level disruption such as PowerShell being blocked after restart.
Additional context
This appears related to antivirus-sensitive PowerShell command shapes rather than repository-specific content. This report intentionally omits local paths, usernames, screenshots, and other machine-specific identifiers.
Related but not identical reports:
- #17208 covers a similar PowerShell/AV pattern in the IDE extension surface.
- #13919 covers a Codex App antivirus conflict with Bitdefender.
8 Comments
Screenshot evidence from Norton alerts:
Threat secured: Norton blockedpowershell.exewith detectionIDP.HELU.PSE75 - Command line detection.Threat blocked: Norton blocked a.ps1helper script with detectionIDP.Genericand offeredMove to Quarantine.These screenshots support that the AV product is reacting both to the PowerShell command-line/process behavior and to script execution, not just to a single repository file path.
Norton AV clipboard output:
`Details
Threat name: IDP.HELU.PSE75%s_cmd
Threat type: Miscellaneous - This is malicious software that could harm your data, computer, or network.
Status: Repaired
Detected by: Behavioral Protection
On PC from: 09/09/2025, 21:37
Last Used: 09/09/2025, 21:37
Startup Item: Yes
Many users
Millions of users in the Norton Community have used this file.
Mature
This file was released 9 months ago.
High
The file risk is high.
____________________________
Activity
Path | Type | Status
____________________________
Details
Threat name: IDP.Generic
Threat type: Miscellaneous - This is an app that you may have unknowingly installed and that may harm your computer performance.
Status: Moved to Quarantine
Detected by: Behavioral Protection
On PC from: 31/05/2026, 15:31
Last Used: 31/05/2026, 16:11
Startup Item: No
Unknown
It is unknown how many users in the Norton Community have used this file.
Unknown
The file release is currently unknown
High
The file risk is high.
____________________________
Activity
Path | Type | Status`
Regression: ChatGPT 26.707.31428 triggers repeated Norton Behavioral Protection alerts in Codex mode on Windows
After ChatGPT updated from Microsoft Store on 2026-07-09, normal use of Codex mode began triggering high-severity Norton Behavioral Protection alerts. This did not happen with earlier versions of the app.
Environment:
26.707.31428(Microsoft Store, auto-updated)Windows 11 25H2, build26200.873726.6.11052, build26.6.11052.988GPT-5.6The impact is disruptive: Norton reports the related PowerShell processes as terminated and may quarantine temporary artifacts. The alerts appear during ordinary app use, not only while running a coding task. They occur consistently after opening Settings, have occurred during normal Codex conversations, and once occurred after application startup before any thread was opened or started.
The observation before any thread was opened makes repository code, project files, user prompts, and task execution unlikely causes. Process Monitor identifies
ChatGPT.exeas the direct parent of the flagged PowerShell processes, which points to a desktop-host behavior rather thancodex.exeor project code.I have not tested Work mode. However, the observed helper appears to perform a UI-related icon operation independently of a coding task, so the same app-level behavior may also affect Work mode.
Norton detects:
The detection occurs consistently after opening ChatGPT Settings. I also captured it during normal work in a Codex conversation, and once after application launch but before opening or starting any thread.
Process Monitor shows that the direct parent is
ChatGPT.exe, notcodex.exe:Norton activity consistently reports four
powershell.exe/conhost.exepairs.The decoded PowerShell payload appears to be a Codex-native icon helper:
CODEX_NATIVE_DESKTOP_APP_ICON_PATH;CodexShellIconNative;shell32.dll,gdi32.dll, anduser32.dll;I found no network request, persistence, registry modification, or deliberate file deletion in the captured payload. However, it combines
-ExecutionPolicy Bypass,-EncodedCommand, dynamic C# compilation viaAdd-Type, and native DLL interop. This is a malware-associated command shape and is a plausible cause of Norton's heuristic detection.A quarantined
__PSScriptPolicyTest_*.ps1contained only the standard PowerShell AppLocker lockdown-mode probe comment. It appears benign and may be collateral behavior from PowerShell startup rather than the directPSE80trigger.Controlled attempts to reproduce the alert through normal project-file operations and small isolated PowerShell commands did not trigger Norton's Behavioral Protection. This suggests the issue is not caused by ordinary repository work or every PowerShell invocation, but by the ChatGPT/Codex host-specific command and execution context.
Could the application avoid
-ExecutionPolicy Bypassand-EncodedCommandfor this UI task, or move icon extraction into a signed native helper/API? The current behavior creates repeated high-severity Norton alerts during normal use.Positive reproduction and remediation note for
openai/codex#25425Status: Reproducible on demand
Verified: 2026-07-10
Upstream issue: openai/codex#25425
Scope
This is deliberately not a restatement of the issue. The issue already establishes that Codex for Windows can trigger Norton detections around PowerShell. A later comment identifies the native-icon helper, decodes its payload, and reports that ordinary project operations and small PowerShell commands did not trigger Norton.
The useful additions below are:
New finding 1: positive controlled reproduction
Three tests were run while monitoring Norton Behavioral Protection:
| Test | Result | New Norton
PSE80event ||---|---|---|
| Ordinary non-interactive Windows PowerShell command | Exit code
0| No || Harmless
Add-TypeC# class returning an integer | Exit code0| No || Helper-equivalent icon extraction | Icon returned successfully; exit code
0| Yes, immediately |The reproducing test used the same relevant behavior as the installed helper:
The payload:
Add-Type;shell32.dll,user32.dll, andgdi32.dll;The helper-equivalent test returned:
Norton then recorded a new event:
| Field | Value |
|---|---|
| Detection |
IDP.HELU.PSE80%s_cmd|| Source | Behavioral Protection |
| Detected executable |
powershell.exe|| Alert ID |
81572140ab26|| Local time |
2026-07-10 19:17:56|| Detection ID |
idpDetection_45eaac4c3e39cc789c61713a926fa14e1a4644f57f4af8a25ede9b394d18e3e0|Windows PowerShell was checked again after the event and remained executable with a valid Microsoft signature.
Interpretation
Neither PowerShell alone nor the simple dynamic C# control reproduced the alert. In this experiment, only the combined helper-equivalent sequence reproduced it: policy bypass, encoded script, runtime compilation, native API interop, icon extraction, and binary-to-Base64 conversion.
This is strong evidence that Norton is reacting to the helper's command shape, not to repository contents or ordinary Codex shell use.
The experiment does not establish which individual flag or operation is necessary or sufficient, and it does not exclude Norton using additional context such as parent-process reputation. It establishes the narrower claim that the benign helper behavior is sufficient to reproduce the same detection family on this environment.
New finding 2: the helper is present in another production build
Inspection of the installed
app.asarfor app version26.707.3748.0confirmed that the production code:powershell.exeexecutable;-NoProfile,-NonInteractive,-ExecutionPolicy Bypass, and-EncodedCommand;CODEX_NATIVE_DESKTOP_APP_ICON_PATH;CodexShellIconNative;nullwhen icon extraction fails.That last behavior is important: icon extraction is already optional. A generic icon is therefore a safer fallback than launching an encoded PowerShell payload.
New finding 3: Electron already exposes a native replacement
Electron provides
app.getFileIcon(), which returns the icon associated with a file path and supports icons embedded in Windows.exe,.dll, and.icofiles.The current helper can be replaced conceptually with:
This removes all of the antivirus-sensitive elements at once: Windows PowerShell 5.1, policy bypass, encoded commands,
Add-Type, temporary C# compiler processes, and hand-written P/Invoke declarations.If a particular path cannot be handled by Electron, the application should return its existing generic icon or use a signed native helper. Icon fidelity should not take precedence over avoiding a malware-like execution chain.
Correlation data
| Component | Verified value |
|---|---|
| Package identity |
OpenAI.Codex|| Package version |
26.707.3748.0|| Package display name |
ChatGPT|| Norton 360 |
26.6.11052.1047|| Windows |
25H2, build26200.8655|| Windows PowerShell |
5.1, executable10.0.26100.8457, valid Microsoft signature || PowerShell 7 |
7.5.8, valid Microsoft signature || Bundled
resources/codex.exe| Valid OpenAI Authenticode signature |Requested action from OpenAI
app.getFileIcon()or a signed native implementation.Safe interim guidance
Do not ask users to disable behavioral protection or broadly exclude PowerShell,
%TEMP%,csc.exe,cvtres.exe, the Codex sandbox, orWindowsApps. Do not weaken the Codex sandbox. Those actions increase exposure and do not remove the malware-like command pattern from the application.Acceptance criteria
The Norton issue is resolved when:
IDP.HELU.PSE80during those flows with current definitions;References
app.getFileIcon()documentationAdditional datapoint from Windows + Norton:
During a Codex update, Norton Behavioral Protection detected
IDP.HELU.PSE80%s_cmd, terminatedpowershell.exe,csc.exe,cvtres.exe, andconhost.exe, and deleted several temporary PowerShell policy test files (__PSSCRIPTPOLICYTEST_*.ps1) and temporary DLLs.After reboot, Windows entered Automatic Repair with "Your device ran into a problem and couldn't be repaired." Selecting Continue to Windows allowed the system to boot normally.
This appears correlated with the update and may help explain partially interrupted updates when AV software terminates PowerShell/.NET compilation processes.
Clarification to avoid conflating two related but distinct observations:
-EncodedCommandand-ExecutionPolicy Bypassand instead use transparent-Filewrappers. Since doing so, I have not reproduced the original issue.IDP.HELU.PSE80%s_cmd). I don't know whether this was caused by the update mechanism itself or by another PowerShell execution path used during the update process. The AV intervention terminated several PowerShell/.NET processes, after which the next reboot initially hung on a black screen before entering Windows Automatic Repair. Selecting "Continue to Windows" booted successfully.I don't want to conflate these two observations. The update incident may or may not have a separate root cause. However, I think the original issue remains important: Codex agents should avoid invoking tools such as PowerShell in ways that unnecessarily resemble malware techniques and therefore trigger behavioural antivirus heuristics.
Regarding observation number 2 (IDP.HELU.PSE80%s_cmd), this issue occurs on my workstation almost every time I enable Planning Mode in Codex.
Norton 360 repeatedly flags PowerShell (
IDP.HELU.PSE80%s_cmd) during normal Codex usage on WindowsEnvironment
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe)Description
While using the latest Codex Desktop application, Norton 360 repeatedly triggers Behavior Protection alerts.
The reported detection is:
The alert references:
Earlier detections also quarantined temporary PowerShell files similar to:
PowerShell itself is not removed from the system and continues to function normally.
Reliable reproduction
I can consistently reproduce the issue with the following steps:
.txtfile.Norton immediately raises a Behavior Protection alert.
The same detection also appears during other normal Codex operations, but attaching a
.txtfile reproduces it almost every time.Observations
Norton detection details
Detection
Protection
Risk
Depending on the event, Norton reports either Repaired or Quarantined.
Additional information
I found issue #25425 describing a similar problem involving Norton and PowerShell (
PSE75). My case reportsPSE80, and I can reliably reproduce it simply by attaching a.txtfile inside Codex.If helpful, I can provide:
<img width="1125" height="717" alt="Image" src="https://github.com/user-attachments/assets/d814000d-bbfa-4265-88f6-45d8d0819358" />
<img width="1122" height="702" alt="Image" src="https://github.com/user-attachments/assets/e696ac6e-9af1-4635-ad44-bbd4fc509b4e" />