This release includes 1 security fix for security teams reviewing exposed deployments.
Topics
+11 more
Affected surfaces
ReleasePort's take
Moderate signalCredential guard now blocks credential access with a deny response and `mureo upgrade` refreshes stale hooks on Claude Code and Codex.
Why it matters: Security severity of 90 ensures blocked credential access; upgrades automatically refresh hooks, eliminating manual intervention for affected surfaces.
Summary
AI summaryCredential guard now blocks access and upgrade refreshes stale hooks.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Critical |
Credential guard now correctly blocks credential access with deny response. Credential guard now correctly blocks credential access with deny response. Source: llm_adapter@2026-07-13 Confidence: high |
— |
| Bugfix | Medium |
`mureo upgrade` now refreshes installed credential‑guard hooks on both Claude Code and Codex. `mureo upgrade` now refreshes installed credential‑guard hooks on both Claude Code and Codex. Source: llm_adapter@2026-07-13 Confidence: low |
— |
| Bugfix | Low |
Dashboard (re)install buttons now report success, “already up to date”, or error via toast messages. Dashboard (re)install buttons now report success, “already up to date”, or error via toast messages. Source: llm_adapter@2026-07-13 Confidence: high |
— |
Full changelog
Fixed
- Credential guard now actually blocks. The PreToolUse hooks installed into Claude Code's
~/.claude/settings.jsonand Codex's~/.codex/hooks.jsonusedsys.exit(1), which both hosts treat as a non-blocking hook error — reading~/.mureo/credentials.jsonwas never actually blocked. The guard templates (now shared via a singlemureo.credential_guardmodule so a fix can never again land on one host and miss the other) block with apermissionDecision: "deny"JSON response, protect the entire~/.mureotree via realpath + case-folded path matching (closing symlink, tilde, wildcardcred*, and case-insensitive-filesystem~/.MUREOevasions), and widen coverage toRead|Edit|Write|Grep|Glob|NotebookEditplusBash. Codex'shooks.jsonis now written in the nested{"hooks": {"PreToolUse": [...]}}shape Codex actually loads, migrating mureo's entries out of the legacy top-level list. The installers are upgrade-aware: re-runningmureo setup(or the configure UI's per-row Reinstall button) replaces stale hooks in place. (#393) mureo upgraderefreshes installed credential-guard hooks. The post-upgrade refresh now upgrades stale tagged guard hooks on both the Claude Code and Codex surfaces — only where a guard entry actually exists, so a deliberately removed guard is never reinstalled. (#398)- Dashboard (re)install buttons report their outcome. The basic-setup rows' (re)install buttons now toast every result — success, "already up to date", and error — instead of reacting only to errors. (#400)
Security
- Action required for existing installations: the old non-blocking guard stays in place until refreshed. Run
mureo upgradeonce (or press the credential-guard Reinstall button in the configure UI) to replace the stale hooks. (#393, #398)
Full Changelog: https://github.com/logly/mureo/compare/v0.10.22...v0.10.23
Breaking Changes
- Removed non-blocking `sys.exit(1)` implementation from PreToolUse hooks; replaced with a JSON response that denies permission (`permissionDecision: "deny"`).
- Credential guard templates consolidated into a single `mureo.credential_guard` module for Claude Code and Codex.
- Codex `hooks.json` now uses the nested shape `{"hooks": {"PreToolUse": [...]}}` instead of a top‑level list.
Security Fixes
- Credential guard now properly blocks access to `~/.mureo/credentials.json` via a deny response, closing symlink, tilde, wildcard (`cred*`) and case‑insensitive filesystem evasion vectors.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About logly/mureo
Framework for AI agents (Claude Code, Cursor, Codex, Gemini) to operate Google Ads, Meta Ads, and Search Console. Grounded in a local STRATEGY.md — not metric-chasing. Defense-in-depth security, local-first. Apache 2.0.
Related context
Related tools
Beta — feedback welcome: [email protected]