You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit b12baf2
Browse filesBrowse the repository at this point in the historyBrowse files
Harden launchers/patchers from external audit + add CI (#4)
* Harden launchers and patchers (Codex audit fixes)
Fixes from an external audit of the workaround launchers and patchers:
- Windows wrappers no longer shell out to claude.cmd/.bat. They resolve
the npm shim to node + cli.js and spawn with shell:false, failing
closed if it cannot be resolved, so prompt/arg metacharacters
(& | < > ^ % ") can no longer be interpreted locally.
- Thinking launchers (bash + win.js) handle --flag=value forms and
validate CC_THINKING_DISPLAY (summarized|omitted).
- Context-icon patchers skip ambiguous multi-match bundles instead of
replacing globally, matching fix-context-icon.py.
- proxy.js strips hop-by-hop headers on both request and response paths
and validates CC_THINKING_DISPLAY.
- fix-context-icon.py writes via a same-directory temp + os.replace,
preserving owner/group/mode, instead of truncate-in-place.
- patch-extension.sh drops the Bash 4 mapfile for a portable read loop.
- test-thinking-display.sh uses mktemp + trap and optional timeout.
- Add tests/test_regressions.py (10 tests) covering the above, including
the context-icon single-match happy path; ignore Python bytecode.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Add CI workflow and note untested cross-owner path
- .github/workflows/ci.yml runs bash -n, ShellCheck (severity=warning),
node --check, py_compile, and the regression suite on push and PRs.
ShellCheck gates at warning severity: the only findings are info-level
SC2015 (A && B || C) notes where the C branch is the intended
best-effort behavior.
- Note in the #5 patcher test that the root-patches-user-owned-file
chown path is not exercised by the single-user test and is verified
by inspection only.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments