Optional "Receipt Required" guard for destructive tools (delete_repo, permissions)

Offen
#2,761 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
github, go

Rechercherichtung

Lies den verlinkten RECEIPT-REQUIRED-MCP.md-Leitfaden und untersuche die vorhandenen delete_repository-, visibility- und permission-Tool-Einstiegspunkte in github-mcp-server. Vergleiche das vorgeschlagene github-admin-Beispiel mit dem aktuellen Tool-Verhalten des Servers; abgeschlossen ist die Aufgabe, wenn ein opt-in- und additiver Schutzmechanismus fehlende, wiederverwendete oder gefälschte Receipts ablehnt und gleichzeitig gültige aktionsgebundene Receipts zulässt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

This server exposes irreversible tools (delete_repository, visibility/permission changes). I maintain EMILIA's open Receipt Required rail (Apache-2.0): a small, opt-in gate so an irreversible tool refuses to run unless a named human signed an authorization receipt for that exact action.

The four-step behavior (CI-verified):

  • missing receipt → 428 Receipt Required
  • valid, action-bound receipt → runs
  • same receipt replayed → refused (one-time consumption)
  • forged receipt → refused

It's disabled by default, no protocol lock-in — purely additive. There's a runnable github-admin example mirroring delete_repo, plus a 10-minute guide. Would you be open to a PR adding this behind an opt-in flag? Happy to author it.

Spec + guide: https://github.com/emiliaprotocol/emilia-protocol/blob/main/docs/guides/RECEIPT-REQUIRED-MCP.md

Vorherrschende Sprache
Go
Sterne
33.1k
Forks
5k
Ø Merge
2 T. 1 Std.
Gemergte PRs (30 T.)
25

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus github/github-mcp-server

Alle Issues in github/github-mcp-server

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.