Access Log Forensics Skill

Auxilia na perícia de logs de acesso, identifica ataques, cache busters e outros problemas.

Documentação

access-log-forensics

Uma skill do Claude Code que realiza triagem forense de logs de acesso Apache/Nginx (formato de log combinado) e produz um relatório curto de incidente com base em evidências.

Instalação

Copie esta pasta para um dos diretórios de skills do Claude Code:

# per-project
cp -r access-log-forensics .claude/skills/

# or globally, for all projects
cp -r access-log-forensics ~/.claude/skills/

Uso

Invoque-a explicitamente:

/access-log-forensics analyze /var/log/apache2/access.log

Ou apenas pergunte naturalmente — o Claude seleciona a skill automaticamente quando a solicitação corresponde à sua descrição:

Can you check attack.log for signs of an attack?

O que ela faz

  1. Executa scripts/redact.sh primeiro: os IPs do cliente são substituídos por pseudônimos estáveis (ip-042) antes que qualquer conteúdo do log entre na conversa do LLM (minimização de dados GDPR). O mapeamento pseudônimo↔IP é gravado em <logfile>.ipmap.tsv (chmod 600) e permanece na sua máquina — resolva um pseudônimo localmente com grep -P '\tip-042$' <logfile>.ipmap.tsv. Todas as etapas posteriores operam apenas em <logfile>.redacted.
  2. Executa scripts/summarize.sh para estatísticas de linha de base em uma única passada (período, códigos de status, principais IPs com contagens de erros/URLs, user agents, caminhos, picos de req/min).
  3. Varre o log em busca de assinaturas de ataque (SQLi, path traversal, sondagem WordPress/Drupal, caça a segredos, XSS, user agents de scanners).
  4. Aplica heurísticas comportamentais (inundações distribuídas, scraping, força bruta, ataques tentados vs. bem-sucedidos).
  5. Grava forensics-report.md — limitado a uma página / ~400 palavras, com um veredito, principais descobertas, IPs de origem notáveis e ações priorizadas.

Notas sobre GDPR

Orientação prática, não aconselhamento jurídico — para processamento no setor público ou em grande volume, envolva seu DPO.

O que é legítimo:

  • Endereços IP em logs de acesso são dados pessoais (TJUE C-582/14, Breyer), mas analisá-los para fins de forense de ataques é expressamente coberto: o Considerando 49 do GDPR nomeia a segurança de redes e informações como interesse legítimo (Art. 6(1)(f)). Você não precisa de consentimento para investigar um DDoS, força bruta ou tentativa de intrusão.
  • Manter logs por um período de retenção limitado e definido para fins de segurança é aceitável; bloquear ou limitar a taxa dos IPs infratores também é.
  • Compartilhar logs pseudonimizados (a saída .redacted desta skill) com um LLM é uma forte medida de minimização de dados (Art. 5(1)(c)): a análise funciona de forma idêntica, e nenhum IP real sai da sua máquina.

O que exige cuidado:

  • Enviar logs brutos para um LLM em nuvem torna o provedor um operador e, para processamento nos EUA, uma transferência para terceiro país (Capítulo V). Isso exige um DPA e um mecanismo de transferência (SCCs / EU-US Data Privacy Framework) com o provedor, registrado em seus registros de processamento — e observe que planos de chat de consumo e termos comerciais/API diferem no tratamento de dados. Redigir primeiro (etapa 0) contorna a maior parte disso.
  • O arquivo de mapeamento .ipmap.tsv reidentifica cada pseudônimo: trate-o como o log bruto (acesso restrito, mesma retenção, nunca compartilhe ou envie).
  • Limitação de finalidade: logs coletados para segurança não devem ser reutilizados para perfilamento de marketing/analytics sem uma base legal separada.

O que não é legítimo:

  • Publicar ou compartilhar relatórios contendo IPs de clientes reais além daqueles que precisam deles (use o relatório pseudonimizado; resolva IPs apenas quando a ação exigir, por exemplo, um bloqueio de firewall ou um relatório de abuso ao ISP).
  • Manter logs brutos indefinidamente "por precaução" — defina e documente um período de retenção.
  • Enriquecer IPs de logs com dados de terceiros para identificar pessoas individuais (em oposição a identificar infraestrutura de ataque) — isso excede a finalidade de segurança.

Requisitos

Apenas ferramentas Unix padrão: bash, awk, grep, sort, uniq. O script também pode ser executado de forma autônoma sem o Claude:

bash scripts/summarize.sh /path/to/access.log