Auditoria e Logs — Monitorar Uso

Auditoria e Logs

Monitore e audite o uso do OpenClaw para manter controle e segurança.

Introdução

Auditoria é a capacidade de responder perguntas críticas: o que o assistente fez, quando fez, com quais dados e por solicitação de quem. Sem logs adequados, você não tem visibilidade sobre o comportamento do sistema nem capacidade de investigar problemas retroativamente.

Para usuários que usam o OpenClaw em contexto profissional ou com dados sensíveis, manter logs é tanto uma boa prática de segurança quanto, em alguns casos, uma exigência de compliance (como para conformidade com a LGPD). Este guia explica o que logar, como configurar a retenção e como revisar logs de forma eficiente.

Combine este guia com as boas práticas de segurança e a proteção contra prompt injection para um sistema de monitoramento completo.

Por Que a Auditoria É Importante

Logs de auditoria servem para múltiplos propósitos:

Detecção de problemas: Identificar erros, comportamentos inesperados ou tentativas de ataque antes que causem dano maior.

Investigação forense: Quando algo dá errado, os logs permitem reconstruir o que aconteceu, em que ordem e com quais consequências.

Compliance: Em ambientes regulados (saúde, financeiro, jurídico), manter registros de atividade pode ser obrigatório para demonstrar conformidade.

Melhoria contínua: Revisar logs revela padrões de uso que ajudam a otimizar automações e identificar tarefas repetitivas que poderiam ser automatizadas.

Como Funciona o Sistema de Logs

O OpenClaw mantém diferentes tipos de logs em locais específicos. Cada tipo captura informações diferentes e serve propósitos distintos.

Tipos de Logs Disponíveis

Gateway Logs

Registra eventos de inicialização, conexão e erros do gateway:

journalctl --user -u openclaw-gateway

Use para diagnosticar problemas de conectividade com os canais (WhatsApp, Telegram, etc.) e erros na API do modelo de IA.

Logs de Sessão

Registra o histórico completo de cada sessão de conversa:

ls ~/.openclaw/sessions/
cat ~/.openclaw/sessions/*.jsonl

Esses arquivos em formato JSONL contêm mensagens, respostas e metadados de cada interação.

Memória Diária

Arquivos de contexto que o assistente acumula ao longo do tempo:

cat ~/clawd/memory/YYYY-MM-DD.md

Revise esses arquivos periodicamente para verificar que informações estão sendo armazenadas e remover dados desnecessários ou sensíveis.

Log de Auditoria

O log estruturado de auditoria com todas as ações do assistente:

cat ~/clawd/audit.log

Este é o log mais importante para fins de segurança.

Configuração de Auditoria

Habilitando o Log de Auditoria

# config.yaml
audit:
  enabled: true
  path: ~/clawd/audit.log
  log_commands: true       # Registra comandos executados
  log_files: true          # Registra arquivos acessados
  log_integrations: true   # Registra chamadas a integrações
  retention_days: 30       # Mantém logs por 30 dias

O Que Logar: Recomendado vs Opcional

Recomendado (logue sempre):

  • Comandos executados no sistema
  • Ferramentas e integrações acessadas
  • Erros e exceções
  • Acessos a arquivos sensíveis
  • Criação e modificação de arquivos

Opcional (considere privacidade):

  • Conteúdo completo de mensagens (pode conter dados pessoais)
  • Respostas completas do modelo
  • Dados de terceiros processados pelo assistente

A recomendação é logar ações (o que foi feito) sem logar o conteúdo completo das conversas, exceto quando necessário para fins específicos.

Alertas Automáticos

Configure alertas para padrões que merecem atenção imediata:

audit:
  enabled: true
  alerts:
    # Padrões de possível prompt injection
    - pattern: "ignore.*instructions"
      level: warning
    - pattern: "forget.*rules"
      level: warning
    # Comandos suspeitos
    - pattern: "sudo"
      level: critical
    - pattern: "rm -rf"
      level: critical
    # Alto uso de API
    - api_tokens_per_hour: 100000
      level: warning

Revisando os Logs

Auditoria de Comandos

# Todos os comandos executados
grep "exec:" ~/clawd/audit.log

# Apenas comandos de hoje
grep "exec:" ~/clawd/audit.log | grep "$(date +%Y-%m-%d)"

# Comandos específicos
grep "exec:.*git" ~/clawd/audit.log

Auditoria de Arquivos

# Arquivos acessados
grep "file:" ~/clawd/audit.log

# Arquivos modificados
grep "file:write" ~/clawd/audit.log

Detecção de Atividade Suspeita

# Possíveis tentativas de injection
grep -iE "ignore|disregard|instructions|pretend" ~/clawd/audit.log

# Comandos potencialmente perigosos
grep -E "(rm|sudo|password|credential)" ~/clawd/audit.log

# Atividade fora do horário normal
grep "$(date +%Y-%m-%d)" ~/clawd/audit.log | awk '{print $2}' | grep -v "^0[89]:" | grep -v "^1[0-8]:"

Uso de API

# Tokens utilizados por sessão
grep "tokens:" ~/clawd/audit.log | awk '{sum += $NF} END {print sum}'

Política de Retenção

Definindo a Política

logging:
  retention:
    days: 30        # Logs de auditoria: 30 dias
    sessions: 90    # Histórico de sessões: 90 dias
    memory: 365     # Contexto de memória: 1 ano

Limpeza Automática

# Sessões mais antigas que 30 dias
find ~/.openclaw/sessions -mtime +30 -delete

# Logs de auditoria mais antigos que 90 dias
find ~/clawd -name "audit*.log" -mtime +90 -delete

Configure como cron job para limpeza automática:

# Adicionar ao crontab (crontab -e)
0 2 * * 0 find ~/.openclaw/sessions -mtime +30 -delete

Implementação Passo a Passo

Passo 1: Habilite a auditoria no config.yaml com os itens recomendados.

Passo 2: Configure alertas para padrões críticos (sudo, rm -rf, possíveis injections).

Passo 3: Defina a política de retenção conforme necessidade de compliance.

Passo 4: Configure limpeza automática para evitar acúmulo desnecessário de dados.

Passo 5: Estabeleça uma rotina de revisão periódica (semanal para uso pessoal, diária para ambientes corporativos).

Checklist de Auditoria

  • Auditoria habilitada no config.yaml
  • Comandos executados sendo logados
  • Acessos a arquivos sendo logados
  • Alertas configurados para padrões suspeitos
  • Política de retenção definida
  • Limpeza automática configurada
  • Revisão periódica agendada

FAQ

Q: Logar tudo não usa muita memória/disco? Com a configuração de retenção adequada (30 dias é suficiente para a maioria dos casos), o uso de disco é mínimo. Logs de texto puro são muito compactos.

Q: Os logs do OpenClaw são visíveis para terceiros? Os logs ficam em arquivos locais com as permissões que você configurar. Proteja com chmod 600 para acesso restrito ao seu usuário. Nenhum dado é enviado para servidores externos automaticamente.

Q: Como exportar logs para análise externa? Os logs são arquivos de texto e JSONL, facilmente processáveis por qualquer ferramenta de análise. Para ambientes corporativos, configure exportação para sistemas SIEM como Splunk ou Elasticsearch.

Q: Preciso logar o conteúdo das conversas para fins legais? Depende da sua jurisdição e setor. Consulte um advogado especializado em compliance digital para sua situação específica. Para a maioria dos casos, logar ações (não conteúdo) é suficiente.

Q: Como auditoria ajuda contra prompt injection? Logs permitem detectar tentativas de injection nos padrões de texto processados e identificar ações executadas após possíveis ataques bem-sucedidos. É uma camada de detecção pós-evento, não prevenção.

Próximos Passos