Skip to main content

Identificar eventos de log de auditoria executados por um token de acesso

Você pode identificar as ações desempenhadas por um token específico na sua organização.

Sobre dados de token no log de auditoria de uma organização

O log de auditoria da sua organização contém um evento para cada ação executada por um usuário ou integração. Se a ação ocorreu fora da interface do usuário da Web do GitHub, os dados do evento mostrarão detalhes sobre como o usuário ou a integração se autenticou.

Se você souber que um token foi comprometido, poderá entender as ações realizadas pelo token comprometido pesquisando no log de auditoria todos os eventos associados a esse token.

Os dados do token aparecem no registro de auditoria para os seguintes métodos de autenticação.

  • Personal access token
  • token OAuth
  • GitHub Apps (autenticação como uma instalação de aplicativo ou em nome de um usuário)
  • Chave de implantação
  • Chave SSH

Observação: a exibição de dados de token para chaves SSH e chaves de implementação no log de auditoria está em versão prévia pública e sujeita a alterações.

Dados de token em eventos de log de auditoria

Os dados a seguir sobre o uso do token aparecem no log de auditoria para ajudar você a entender como o usuário ou a integração se autenticou.

InformaçõesDescrição
hashed_tokenHash SHA-256 do token usado para autenticação.
programmatic_access_typeTipo de autenticação usado.
token_scopesSe aplicável, os escopos do token.

Como identificar eventos associados a um token

Para identificar eventos associados a um token específico, você pode usar a interface do usuário ou a API REST. Para identificar eventos do Git, você precisará exportar os eventos do log de auditoria. Para identificar qualquer evento, primeiro você precisará saber o hash SHA-256 do token.

Gerando um valor de hash SHA-256 para um token

Se você tiver apenas um valor de token bruto, precisará gerar um hash SHA-256 para procurar o token.

No macOS e no Linux, você pode usar echo -n TOKEN | openssl dgst -sha256 -binary | base64, substituindo TOKEN pelo valor do token.

No PowerShell, você pode usar o script a seguir para retornar um hash SHA-256 de uma determinada cadeia de caracteres.

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('-', '')

Pesquisando no GitHub

Ao pesquisar o log de auditoria no GitHub, inclua hashed_token:"VALUE" na consulta de pesquisa, substituindo VALUE pelo hash SHA-256 do token.

Observação: encapsule o valor do token hash entre aspas.

As pesquisas que usam o GitHub não retornam eventos do Git.

Como pesquisar com a API REST

Para procurar um token usando a API REST, depois de gerar um hash SHA-256, você também precisa usar um escape para o hash no URI. A maioria das principais linguagens de programação oferece um utilitário para escape de URI. Por exemplo, encodeURIComponent() codifica uma cadeia de caracteres para JavaScript.

Depois, inclua hashed_token:"VALUE" na frase de pesquisa, substituindo VALUE pelo hash com escape de URI.

As pesquisas que usam a API REST não retornam eventos do Git.

Por exemplo, se o nome da conta de organização for octo-org, o comando curl a seguir pesquisá o log de auditoria de @octo-org de todos os eventos associados ao token cujo hash SHA-256 codificado em URI é EH4L8o6PfCqipALbL%2BQT62lyqUtnI7ql0SPbkaQnjv8.

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

Como identificar eventos do Git

Você pode identificar eventos do Git autenticados com um token específico. Quando você exporta dados de eventos Git do log de auditoria, os campos com detalhes sobre autenticação aparecem na saída. Para obter mais informações, consulte “Revisar o log de auditoria da organização”.

Nota: a exibição de dados de token para eventos Git no registro de auditoria está em versão prévia pública e está sujeita a alterações.

Leitura adicional