Blog

Seien Sie vorsichtig bei der Verwendung von GitHub PAT mit Repo Scope

Aktualisiert Oktober 14, 2025
3 Minuten

Wussten Sie, dass Sie mit einem Github Personal Access Token (PAT) mit dem Repo-Scope mehr Rechte erhalten als nur den Zugriff auf Ihre Repositories? Wenn nicht, sollten Sie einen Blick in diesen Blogbeitrag werfen.

Was ist ein GitHub PAT?

Ein klassisches GitHub PAT bietet Ihnen die Möglichkeit, sich mit einem Token bei Github zu authentifizieren, das sich als Ihr Benutzerkonto ausgibt. Je nach gewähltem Bereich können Sie mit diesem Token mehrere Dinge tun. Zum Beispiel Repository-Inhalte lesen, in das Repository schreiben, usw. Um ein klassisches persönliches Zugriffstoken zu erstellen, müssen Sie zu den Entwicklereinstellungen Ihres persönlichen Kontos gehen .

Was ist das Problem mit dem Repo-Scope-Token?

Ich habe derzeit für einen Kunden gearbeitet, der von GitHub Enterprise Server auf GitHub Enterprise Cloud migrieren wollte. Daher haben wir Tools wie den GitHub Enterprise Importer (GEI) eingesetzt. Ein Nachteil dieses Tools ist, dass es keine Teams, Benutzer, Repo-Berechtigungen usw. migrieren kann. Aus diesem Grund habe ich einige Post-Migrations-Skripte erstellt, um die Arbeit zu erledigen, und dabei ist mir etwas Seltsames aufgefallen. Ich hatte zufällig nur ein Repo-Scope-Token, wollte aber ein Team für die Organisation erstellen. Und raten Sie mal? Es hat funktioniert... ‍

Ich war verwirrt und überprüfte den Umfang meines Tokens, der wie folgt aussah:

Sieht hier ziemlich sauber aus. Keine Hinweise auf zusätzliche Berechtigungen, richtig?

Ich habe ein wenig herumgespielt und bin zu dem Schluss gekommen, dass dies ein Fehler sein muss. Mein PAT hat nicht den Geltungsbereich admin:org, also sollte das nicht funktionieren. Daraufhin habe ich ein Support-Ticket auf GitHub erstellt, nur um die Bestätigung zu erhalten, dass dies ein Fehler ist. Getreu dem Motto: "Es ist kein Fehler, es ist ein Feature". Was soll's! Man verwies mich auf die Dokumente, in denen das Problem ebenfalls beschrieben ist:

Nun, das ist etwas irreführend, nicht wahr? Sie haben den Bereich admin:org für genau diese Szenarien:

Aber einige dieser Ressourcen sind auch im Umfang des Repo enthalten. Warum GitHub, WARUM?!?!

Fazit

Ich denke, dies ist immer noch ein Fehler und sollte behoben werden. Ja, dies kann dazu führen, dass einige Integrationen nicht mehr funktionieren, aber es wird definitiv die Sicherheit und Vorhersehbarkeit erhöhen. Es ist konsistenter, den org:admin-Bereich für die Verwaltung von Organisationsressourcen zu verwenden als den Repo-Bereich. Die Verwendung der GitHub-API mit Classic PAT zeigt einige andere seltsame Verhaltensweisen, aber das ist ein Thema für einen anderen Blogbeitrag.

Wenn Sie das nächste Mal einer Person oder einem Tool "nur" einen Repo-Bereich geben, denken Sie daran, dass damit auch Ressourcen auf Organisationsebene wie Teams, Projekte usw. geändert werden können. Sicherlich können Sie dies absichtlich nutzen, um mit weniger Privilegien als nötig zu arbeiten.

Contact

Let’s discuss how we can support your journey.