O relógio por trás dos commits: medindo uma jornada de trabalho em UTC

OSINT Nível 3/4 ~5 min 8 de outubro de 2026

O desafio

feedparse-lite está sob três mil pacotes e o autor original, que não o tocava havia dois anos, entregou as chaves a um desconhecido depois de uma série de bons patches. A versão 2.1.0 saiu com um script postinstall que não está no tag do git. Antes de discutir intenção, a thread quer estabelecer algo mais simples: a conta afirma Vancouver, e o horário de trabalho de uma pessoa é muito difícil de falsificar porque não é um campo que alguém preenche. Seis registros públicos estão no quadro. Informe o fuso UTC em que esse mantenedor realmente vive.

O que você vai aprender

  • Comparar dois timestamps do mesmo momento registrados em relógios diferentes
  • Interpretar o DateTimeOriginal do EXIF como o horário local do relógio, sem offset inerente
  • Inferir uma jornada de trabalho e um horário de almoço a partir de um histograma de atividade
  • Descartar campos de perfil e registros WHOIS de serviços de privacidade como evidência de localização
  • Explicar por que o horário de atividade é mais difícil de falsificar do que qualquer atributo declarado

Habilidades testadas

Pesquisa open sourceCorrelação temporalRaciocínio de atribuição

Pré-requisitos

  • O que são UTC e offset de fuso horário
  • Leitura de um log de commits

Como funciona

Quase tudo em um perfil é digitado pela pessoa que ele descreve. Localização, nome, empregador, fotografia: são todas declarações, todas de graça. O que essa pessoa não consegue controlar facilmente é quando está acordada, porque a jornada de trabalho vaza para todo timestamp que uma plataforma registra sobre ela, e as plataformas registram em UTC.

A medição precisa de dois relógios mostrando o mesmo momento. Um post carrega um timestamp UTC gerado no servidor. A foto anexada a ele carrega o DateTimeOriginal, que é o relógio local da própria câmera e, em uma câmera que não grava o campo OffsetTime, não tem fuso horário algum associado. A diferença entre os dois é o offset, e ela é precisa na casa dos minutos entre o disparo do obturador e o upload.

Depois, confira. Um offset correto transforma um espalhamento de timestamps UTC em algo reconhecivelmente humano: um início, um fim, um intervalo onde entra o almoço e nada nos fins de semana. Um offset errado transforma isso em alguém que diz bom dia às onze da noite. Neste caso, um dia inteiro de diferença é o que denuncia, e é por isso que a thread pediu um número em vez de um país. O número é o que a evidência sustenta; o país é um palpite construído em cima disso.

Erros comuns

  • Responder UTC-7. Esse é o fuso de Vancouver em agosto, e é a alegação sob investigação, não uma conclusão.
  • Confiar no endereço do WHOIS. O registrante é um serviço de privacidade. O endereço é do serviço, e ele aparece em milhares de domínios sem relação nenhuma.
  • Ler o timestamp da foto como UTC. O DateTimeOriginal é o relógio local da câmera. O registro indica que nenhum campo de offset está presente.
  • Usar só o log de commits. Ele reduz a resposta a alguns offsets plausíveis. Cruzar o post com a foto fecha a resposta com exatidão.
  • Responder com um país. Vários países compartilham UTC+3, e a evidência não escolhe entre eles.

Como se proteger

Para um projeto que está transferindo direitos de commit ou de publicação, identidade é um problema de processo.

  • Não conceda direitos de publicação só com base em bons patches. Uma conversa por voz ou vídeo, uma referência de alguém conhecido, ou um período de commits revisados sem acesso a release custam pouco e quebram esse padrão.
  • Exija que dois mantenedores aprovem cada release, e publique com proveniência para que o tarball possa ser conferido contra o tag do qual ele afirma vir. Um script postinstall ausente do tag do git nunca deveria ter chegado a um registry.
  • Preste atenção ao formato, não à pessoa: um pacote popular dormente, um autor inativo, uma conta nova, status de confiança concedido rápido demais, depois uma release que difere do código-fonte.
  • Para quem consome o pacote, fixe versões, instale com scripts de lifecycle desativados, e mantenha um atraso entre o lançamento de uma release e sua adoção. A maioria dessas tomadas de controle é descoberta em poucos dias por outra pessoa.

Solução completa

Membros Pro e Max desbloqueiam o passo a passo completo.

Assinar Pro

Estatísticas da comunidade

164 resoluções
85% taxa de sucesso
Malekith Primeiro sangue

Hacks de hoje relacionados

31.000+ Hackers Labs reais Grátis
Comece Grátis ou resolva o hack de hoje, sem conta