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
[security] declared-tool enforcement can fail open when catalog is absent #5690
When declared-tool enforcement is explicitly enabled but the declared-tool catalog is absent, the bridge can lack the membership set needed to enforce the policy. Expected: if enforceDeclaredToolNames=true, absence of the declared catalog must fail closed rather than silently weakening enforcement. This is scoped only to paths where enforcement is explicitly active; it does not propose changing intentional chat/Anthropic scoping from PR #4799.
Reproduction
Enter a bridge path with declared-tool-name enforcement enabled.
Omit the declared tool catalog/set.
Present a client-tool call that requires membership validation.
Observe that the unpatched path lacks the authoritative catalog needed for the check.
A local patch rejects the condition fail-closed before a client tool can execute.
Invariant: enforceDeclaredToolNames=true requires an authoritative declared-tool catalog.
Screenshots and supporting files
Related but distinct from #5407 and PR #4799. #5407 concerns failover after an undeclared stale tool; this report concerns a missing catalog while enforcement is already active.
Fixed on dev by bundle #5741 (squash-merged as 893c81c); it will ship in the next release. Closing manually because dev is not the default branch, so GitHub does not auto-close. If you still see this on a build that includes 893c81c, please reopen with the version and a redacted reproduction.
Activity
github-actions commentedon Sep 23, 2026
Issue reopened
The report now contains the information required by the automated check. Thanks for updating it.
lidge-jun commentedon Sep 24, 2026
Fixed on
devby bundle #5741 (squash-merged as 893c81c); it will ship in the next release. Closing manually becausedevis not the default branch, so GitHub does not auto-close. If you still see this on a build that includes 893c81c, please reopen with the version and a redacted reproduction.