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/listundcontrolled_execution_get_policynach 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_rotatorinstalliert. Sie erlaubt nurread_onlyund Medium-Risk-credential_management; High Risk undscoped_writebleiben 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
launchctlist der Altwert nicht gesetzt. - Native frische Codex-Session mit
approval: nevergeprüft: Policy-Tool undgitea_get_versionliefen ohne zusätzliche Approval-Schleife. Der lokale MCP-Servereintrag nutztbearer_token_env_varunddefault_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.