fix: hand off delegated chat verification key changes

Block agent-chosen verification credentials before provider work or vault writes. Return the saved human handoff, prevent channel secret-reference rebinding through generic tool updates, and protect native setup receipts. Keep authorized bot-token repair available.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-10-26 18:11:22 -05:00
1 parent e5b8070d2f
commit 05d1decd2b
8 files changed
+58 -6

No files matched your search

@@ -1,4 +1,5 @@
export function runnerApiSensitiveResponse(method: string, path: string): boolean {
if (method === "POST" && /^\/api\/chat-endpoints\/\{[^}]+\}\/setup$/.test(path)) return true;
if (/(\/apps\/connect$|\/email\/connections$|setup-secret|\/github\/(setup|identity\/start)|\/slack\/resume|start-authorization|finalize-oauth-access|\/oauth\/|\/registration|\/managed\/authorize|\/install$|\/login|\/setup-token-login-sessions|\/local\/attempts)/.test(path)) return true;
if (/\/secrets\/\{[^}]+\}\/value$/.test(path)) return true;
return /^\/api\/tool-gateway\/sessions(?:\/|$)/.test(path)
@@ -60,6 +60,7 @@ describe("bounded response capture receipts", () => {
describe("connection setup response protection", () => {
it.each([
["POST", "/api/chat-endpoints/{endpointId}/setup"],
["POST", "/api/chat-endpoints/{endpointId}/setup-secret"],
["POST", "/api/chat-endpoints/{endpointId}/github/setup"],
["POST", "/api/chat-endpoints/{endpointId}/slack/resume"],