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.