Zum Inhalt

MCPHub-Credential-Cutover 2026-08-25

Ergebnis

Der neue Keychain-gebundene Zugang codex-autonomy ist im Tokenstore des Lanstyle-Remote-MCP registriert und über https://mcphub.lanstyle.de/lanstyle-mcp authentifiziert. Der zuvor verwendete statische Remote-MCP-Key ist serverseitig deaktiviert; Alt- und Rollback-Tests liefern für ihn HTTP 401. Es wurden keine Secretwerte in Logs, Receipts oder Dokumentation übernommen.

Der MCPHub-Gruppenendpunkt /mcp/lanstyle authentifiziert denselben neuen Zugang, stellt aktuell aber keine materialisierte Gruppe und daher keine Tools bereit. Er ist nicht der Codex-Ausführungspfad. Die produktive Codex-Anbindung verwendet den kontrollierten Remote-MCP-Endpunkt /lanstyle-mcp mit 21 Tools.

Ausgeführte Gates

  • Keychain-Eintrag eindeutig vorhanden und per Read-after-write geprüft.
  • Neuer MCPHub-Zugang per authentifiziertem Initialize-Probe gegen beide Endpunkte geprüft; leere Gruppenprojektion diagnostiziert und vom Ausführungspfad getrennt.
  • Neuer Token create-absent-only unter Host-Lock und Store-CAS in den Remote-MCP-Tokenstore aufgenommen.
  • Authentifiziertes initialize, tools/list und controlled_execution_get_policy nach dem Write als Read-after-write ausgeführt; 21 Tools und Policy-Tool bestätigt.
  • Expliziten receipt-gebundenen Rollback des neuen Eintrags live getestet; danach HTTP 401 verifiziert und den Eintrag mit unverändertem Manifest erneut kontrolliert angelegt.
  • Runtime-Code mit manifestiertem Git-Prestate, Host-Lock, CAS, Read-after-write, Service-Healthcheck und Rollback installiert.
  • HMAC-State-Key ausschließlich serverseitig erzeugt; kein Keymaterial wurde zurückgegeben.
  • Dedizierte RBAC-Rolle credential_rotator installiert. Sie erlaubt nur read_only und Medium-Risk-credential_management; High Risk und scoped_write bleiben gesperrt.
  • Statisches Tokeninventar secretfrei gelesen und auf genau einen aktiven Kandidaten begrenzt.
  • Deaktivierung, externer 401-Test, expliziter CAS-Rollback, erneuter Akzeptanztest und abschließende Deaktivierung erfolgreich ausgeführt.
  • Neuer Zugang nach der finalen Deaktivierung des Altkeys erneut über den Remote-MCP authentifiziert.
  • Persistente lokale Codex-Dateien auf den exakten Altwert geprüft: keine Treffer. In launchctl ist der Altwert nicht gesetzt.
  • Native frische Codex-Session mit approval: never geprüft: Policy-Tool und gitea_get_version liefen ohne zusätzliche Approval-Schleife. Der lokale MCP-Servereintrag nutzt bearer_token_env_var und default_tools_approval_mode = "approve"; die Risiko- und Controlled-Execution-Gates verbleiben serverseitig.
  • Der frühere Header-Helper gibt grundsätzlich keine Authorization-Header mehr aus, weil Codex reservierte Header aus Helpern ablehnt. Er dient nur noch als secretfreier Auth-Probe. Der Starter lädt das Credential aus dem festen Keychain-Eintrag in die Prozessumgebung und entfernt die Launch-Umgebung nach Ende der App wieder.

Receipts

Aktion Run-ID Ergebnis
Erster Runtime-Code-Rollout static-token-code-20260825-1648 complete
Runtime-Upgrade für HMAC/RBAC static-token-code-20260825-1710 complete
Bootstrap-Versuch vor Pfadfix run-bootstrap-202608251713 failed-rolled-back
Bootstrap-Versuch vor Verifier-Workdir-Fix run-bootstrap-202608251738 failed-rolled-back
Finaler HMAC/RBAC-Bootstrap run-bootstrap-202608251746 complete
Runtime-Upgrade mit explizitem Rollback static-token-code-20260825-1800 complete
Test-Deaktivierung disable-old-mcp-20260825-1804-test complete
Expliziter Test-Rollback rollback-old-mcp-20260825-1807-test complete
Finale Deaktivierung disable-old-mcp-20260825-1810-final complete
MCPHub-Gruppendiagnose fester Read-only-Provider complete, Gruppe nicht materialisiert
Erste Registrierung des neuen Remote-MCP-Tokens register-codex-autonomy-20260825-174631 complete
Expliziter Registrierungs-Rollback rollback-codex-autonomy-20260825-1748 rolled_back
Finale Registrierung des neuen Remote-MCP-Tokens register-codex-autonomy-20260825-1749-final complete
Native Codex-Policy-/Gitea-Abnahme client-native-e2e-20260825-1754 complete

Die rootgeschützten Runtime-Receipts bleiben auf dem Agent-Runtime-Host. Die lokalen Deployment-Ergebnisse liegen unter ~/.codex/runs/ und enthalten keine Secretwerte.

Bekannte Client-Nachwirkung

Ein bereits vor dem Cutover gestarteter Codex-App-Prozess übernimmt die neue Prozessumgebung nicht rückwirkend. Nach dem Beenden der App startet ~/.codex/bin/Start-Codex-Lanstyle.command sie mit dem festen Keychain-Eintrag; der Starter setzt und entfernt die Launch-Umgebung ohne Ausgabe des Werts. Ein frischer Codex-CLI-Prozess wurde bereits erfolgreich gegen den neuen Zugang abgenommen. Der Altwert ist weder in launchctl noch in persistierten Codex-Dateien vorhanden.

Rückweg

Für die Altkey-Deaktivierung ist der explizite Rückweg POST /mcp-token-admin/static/rollback mit neuer Run-ID, Original-Run-ID, aktueller Inventory-Revision und gebundener Benutzerautorisierung. Für den neu registrierten Key verwendet der feste Provider einen separaten receipt-gebundenen CAS-Rollback, der ausschließlich den vom Original-Run erzeugten Eintrag entfernt. Beide Rückwege wurden live getestet. Ein Rollback darf nur gegen die jeweils unveränderte Revision erfolgen.