Repository navigation
v4.3.0
Highlights
- 19 new CVE defenses β CVE tracker expanded from 26 to 45 real-world vulnerabilities with 80% full defense
coverage. New rules protect Codex CLI config injection (CVE-2025-61260), Cursor workspace RCE
(CVE-2025-61590), Roo Code config poisoning (CVE-2025-53536), and more. - Subcommand consolidation β Removed redundant acp-wrap, mcp gateway, agents, and reload-rules subcommands.
crust wrap handles all stdio proxy modes (ACP + MCP auto-detection). Use status --agents and list-rules
--reload instead. - Gin β stdlib β Replaced gin HTTP framework with Go's net/http.ServeMux, eliminating 30+ transitive
dependencies and resolving CodeQL findings. - Zero global singletons β Removed all 4 global singletons (globalEngine, globalManager, globalStorage,
globalProvider). Full dependency injection throughout. - Test coverage β 42 E2E tests + coverage improvements: telemetry 38β82%, proxyutil 45β97%, autowrap 50β75%.
- Clean architecture β Fixed inverted internal/ β pkg/libcrust/ dependency. Shared code moved to
internal/proxyutil/ and internal/plugin/wire.go.
Security
- Add protection rules for .cursor/cli.json, .codex/config.toml, .roo/mcp.json, *.code-workspace (#117)
- Update CVE tracker to 45 entries covering Cursor, Copilot, Claude Code, Codex CLI, OpenClaw, OpenCode, Roo
Code (#117) - Fix DLP errWriter direction, data races, goroutine leaks (#108)
- Fix fuzz-found looksLikeShellCommand slice panic on whitespace input (#115)
Features
Refactoring
- Replace gin with stdlib net/http.ServeMux (#113)
- Deduplicate plugin init and metrics seeding (#112)
- Remove all global singletons (#109, #110, #111, #119)
- Consolidate redundant subcommands (#115)
- Fix inverted internal β pkg/libcrust dependency (#118)
Bug Fixes
- Fix gomobile bind FormatHookResponse return type (#106)
- Fix ReDoS, race conditions, dependency injection (#105)
- Fix patched status when toggling agents (#102)
Testing