Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.

Identifizieren von Überwachungsprotokollereignissen, die von einem Zugriffstoken ausgeführt werden

Du kannst die Aktionen identifizieren, die von einem bestimmten personal access token oder OAuth-Token in deinem Unternehmen ausgeführt werden.

Informationen zu Tokendaten im Überwachungsprotokoll

Im Überwachungsprotokoll deines Unternehmens zeigen die Ereignisdaten für alle Aktionen, die mit einem personal access token oder einer OAuth-Anwendung für die Authentifizierung ausgeführt wurden, die verwendete Authentifizierungsmethode und den SHA-256-Hash des Tokens an.

Wenn du erfährst, dass ein Token kompromittiert wurde, kannst du die Aktionen des kompromittierten Tokens nachvollziehen, indem du das Überwachungsprotokoll deines Unternehmens nach allen Ereignissen durchsuchst, die diesem Token zugeordnet sind.

Hashtokenwerte sind beim Exportieren des Überwachungsprotokolls nicht enthalten.

Suchen nach Ereignissen, die einem Token zugeordnet sind

Wenn du nach Ereignissen suchst, die einem bestimmten Token zugeordnet sind, kannst du die Benutzeroberfläche oder die REST-API verwenden. In beiden Fällen musst du den SHA-256-Hash des Tokens kennen.

Generieren eines SHA-256-Hashwerts für ein Token

Wenn du nur über einen unformatierten Tokenwert verfügst, musst du einen SHA-256-Hash generieren, bevor du nach dem Token suchen kannst.

Für MacOS und Linux kannst du echo -n TOKEN | openssl dgst -sha256 -binary | base64 verwenden. Ersetze dabei TOKEN durch den Tokenwert.

Für PowerShell kannst du das folgende Skript verwenden, um einen SHA-256-Hash für eine bestimmte Zeichenfolge zurückzugeben.

Shell
Param (
    [Parameter(Mandatory=$true)]
    [string]
    $ClearString
)

$hasher = [System.Security.Cryptography.HashAlgorithm]::Create('sha256')
$hash = $hasher.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($ClearString))

$hashString = [System.BitConverter]::ToString($hash)
$hashString.Replace('-', '')

Suchen auf GitHub

Schließe beim Durchsuchen des Überwachungsprotokolls auf GitHub hashed_token:"VALUE" in deine Suchabfrage ein, und ersetze VALUE durch den SHA-256-Hash des Tokens.

Hinweis: Setze den Hashtokenwert unbedingt in Anführungszeichen.

Suchen mit der REST-API

Damit du mithilfe der REST-API nach einem Token suchen kannst, musst du nach dem Generieren eines SHA-256-Hashs den Hash ebenfalls mit dem URI als Escapezeichen versehen. Die meisten gängigen Programmiersprachen bieten ein Hilfsprogramm für die Verwendung des URI als Escapezeichen. Beispielsweise wird mit encodeURIComponent() eine Zeichenfolge für JavaScript codiert.

Füge dann hashed_token:"VALUE" in deinen Suchbegriff ein, und ersetze VALUE durch den Hash, den du mit dem URI als Escapezeichen versehen hast.

Wenn der Name des Unternehmenskontos beispielsweise octo-corp lautet, durchsucht der folgende cURL-Befehl das Überwachungsprotokoll von @octo-corp nach allen Ereignissen, die dem Token zugeordnet sind, dessen URI-codierter SHA-256-Hash EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8 lautet.

curl --header "Accept: application/vnd.github+json" --header "Authorization: Bearer YOUR-TOKEN" --header "X-GitHub-Api-Version:2022-11-28" 'https://api.github.com/enterprises/octo-corp/audit-log?phrase=hashed_token:"EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8"'

Weitere nützliche Informationen