Skip to content

[security] /override has no severity ceiling — can bypass a security CRITICAL with one log line #26

Description

@SUaDtL

From the adversarial plugin review (gate reviewer). Verified.

Problem

commands/override.md lets /override "reason" bypass any gate with a single audit line and a single confirm (:9 "Single identity, single confirm"). The "When NOT to use" section (:35) lists only routine work that passes all gates — there is no carve-out preventing override of a security-critical stop.

This contradicts the gate model's own premise: ORCHESTRATOR.md §2 ranks "security & correctness of the audit trail" as the #1 conflict-hierarchy priority, and SPRINT.md:84-90 treats security-controls / crypto / secrets / irreversible-ops as inviolable hard gates. Yet SPRINT.md's hard-gate list names "/override territory" as a stop that surfaces to the user — so a human can then /override a security CRITICAL, and override.md logs one line and proceeds.

Impact

The bypass is auditable but not bounded. The audit trail records that a security CRITICAL was overridden, but nothing prevents it. "Security stops are non-negotiable" is contradicted by a bypass with no severity ceiling.

Recommended direction

Add a severity ceiling to /override: a security CRITICAL / irreversible-op stop either cannot be overridden, or requires a distinct, heavier confirmation path (explicit typed acknowledgement of the specific finding, separate from routine gate overrides). Document the carve-out in override.md's "When NOT to use."

Related: the security-gate routing issue from the same review.

Activity

  1. SUaDtL commented on Jun 14, 2026

    @SUaDtL
    CollaboratorAuthor

    Fixed. commands/override.md now carries a dedicated "Security ceiling — heavier path for security-critical stops" section:

    • A security CRITICAL / irreversible-op stop is not bypassable by the single-confirm path.
    • The heavier path requires acknowledgement of the specific finding (a generic "security override" is rejected), and writes a distinct SECURITY-OVERRIDE-tagged audit line recording the finding + reason.
    • It runs hooks/security-pass.py, which writes a bound security-gate-passed marker, so the bypass is gated rather than merely logged.
    • Under /ca:sprint, a security-critical override is a hard-gate STOP that surfaces to the user; the orchestrator MUST route such stops through the Security ceiling path and MUST NOT auto-decide them.

    The carve-out is documented in the "When NOT to use" area as requested. Closing as completed.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions