Egress apply validates with load_routes but sidecar runs load_config (log: bypass) #256
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Severity: Medium
EgressApplicator.validate_routes_contentvalidates agent-proposed content withload_routes(routes only —bot_bottle/backend/egress_apply.py:34), but the sidecar reads the same file withload_config, which also honors a top-levellog:key (egress_addon_core.py:421,egress_addon.py:52).An agent-proposed routes file can carry
log: 2(LOG_FULL): validation ignores the key, and on reload the sidecar honors it — silently enabling full request/response logging. The supervise approval surface presents it as a routes change and would not flag the logging-mode flip.Fix: validate with
load_config(the same parser the sidecar uses) so what is checked equals what runs, and so alog:change is surfaced/rejected at approval time.Closely related to the LOG_FULL credential-exposure issue (the two chain).
Filed from a security audit of the TLS-interception egress path and git-gate credential handling (follow-up to the
prd-0054-install-scriptquality-eval review). The core controls — default-deny, per-bottle CA, sidecar credential isolation — were confirmed sound; these are residual hardening gaps.