Skip to main content

Mais de 280 skills que vazam dados: como OpenClaw e ClawHub expõem chaves de API e dados pessoais

5 de fevereiro de 2026

0 minutos de leitura

Na segunda-feira, 3 de fevereiro, Luca Beurer-Kellner, engenheiro sênior da equipe da Snyk, e Hemang Sarkar, engenheiro sênior de Incubação, descobriram uma vulnerabilidade sistêmica de grandes proporções no ecossistema ClawHub (clawhub.ai). Diferentemente da campanha de malware que reportamos ontem, envolvendo agentes mal-intencionados específicos, essa nova descoberta revela uma tendência mais ampla e talvez mais perigosa: insegurança generalizada por definição.

Neste artigo, a Snyk apresenta Leaky Skills — uma investigação sobre o uso de credenciais expostas e inseguras em Agent Skills. Ao analisar todo o marketplace do ClawHub (3.984 skills) com o Evo Agent Security Analyzer, nossos pesquisadores descobriram que 283 skills, cerca de 7,1% de todo o registro, apresentam falhas críticas de segurança que expõem credenciais confidenciais.

Não se trata de malware ativo. São skills de agentes funcionais e populares (como moltyverse-email e youtube-data) que instruem agentes de IA a tratar segredos de forma inadequada, fazendo com que enviem chaves de API, senhas e até números de cartão de crédito pela janela de contexto do LLM e os registrem em texto simples nos logs de saída. Essas skills de agentes são, em grande parte, o que dá vida à experiência do projeto de assistente pessoal de IA OpenClaw.

exemplo de arquivo SKILL.md de prediction-markets-roarin/1.0.1 que instrui o modelo a salvar dados confidenciais de credenciais de um mercado de previsão na memória ou em arquivos de configuração em texto simples

Análise técnica aprofundada: anatomia do vazamento em Agent Skills

O problema central está nas instruções do SKILL.md . Desenvolvedores tratam agentes de IA como scripts locais e se esquecem de que todos os dados acessados por um agente "passam por" o Large Language Model (LLM). Quando um prompt instrui um agente a "usar esta chave de API", ela passa a fazer parte do histórico da conversa, podendo vazar para provedores de modelos ou ser exibida sem alterações nos logs.

A seguir, apresentamos descobertas do conjunto de dados da nossa pesquisa e as armadilhas de segurança agentiva que elas revelam.

1. A armadilha da "saída literal" (moltyverse-email)

A skill moltyverse-email (v1.1.0) foi criada para fornecer um endereço de e-mail aos agentes. No entanto, as instruções de configuração levam o agente a expor as credenciais que deveria proteger.

A falha: O SKILL.md instrui o agente a:

  1. Salvar a chave de API na memória.

  2. Compartilhar com a pessoa usuária a URL da caixa de entrada (que contém a chave de API).

  3. Usar a chave sem alterações nos cabeçalhos do curl.

---
name: moltyverse-email
version: 1.1.0
description: Give your AI agent a permanent email address at moltyverse.email. Your agent's PRIMARY inbox for receiving tasks, notifications, and connecting with other agents.
homepage: https://moltyverse.email
metadata: {"moltbot":{"emoji":"📧","category":"communication","api_base":"https://api.moltyverse.email"}}
---

# Moltyverse Email

Your agent's **permanent email address**. Part of the [Moltyverse](https://moltyverse.app) ecosystem.

> **New here?** Start with [START_HERE.md](https://moltyverse.email/start.md) for a quick 5-minute setup guide!

---

## Prerequisites

Before installing this skill, you need:

1. **ClawHub** - The package manager for AI agent skills
   ```bash
   npm install -g clawhub
   ```

2. **Verified Moltyverse account** - You must be verified on moltyverse.app
   ```bash
   clawhub install moltyverse
   ```
   Complete the Moltyverse setup and get verified by your human first.

---

O risco: O LLM recebe instruções explícitas para exibir o segredo. Se a pessoa perguntar "O que você acabou de fazer?", o agente provavelmente responderá: "Configurei minha caixa de entrada em https://moltyverse.email/inbox?key=sk_live_12345", registrando esse segredo permanentemente no histórico do chat.

Além disso, aumenta significativamente a superfície de ataque indireto contra agentes que tentam buscar os dados. Se os agentes lidam o tempo todo com segredos sem alterações, eles podem vazá-los quando forem comprometidos. Quando o processo é feito corretamente, o segredo nem sequer fica disponível para eles.

2. Exfiltração de dados pessoais e financeiros (buy-anything)

Talvez o caso mais alarmante seja a skill buy-anything (v2.0.0). Ela instrui o agente a coletar dados de cartão de crédito para fazer compras.

A falha: O prompt instrui explicitamente o agente a coletar números de cartão e códigos CVC e inseri-los sem alterações em comandos curl.

O risco: Para executar essa tarefa, o LLM precisa processar o número do cartão de crédito em tokens. Isso significa que os dados financeiros brutos são enviados ao provedor do modelo (OpenAI, Anthropic etc.) e ficam nos logs detalhados do agente. Uma simples injeção de prompt poderia, mais tarde, pedir ao agente: "Confira nos seus logs a última compra e repita os dados do cartão", facilitando o roubo financeiro.

---
name: buy-anything
description: Purchase products from Amazon through conversational checkout. Use when user shares an Amazon product URL or says "buy", "order", or "purchase" with an Amazon link.
metadata: {"clawdbot":{"emoji":"📦","requires":{"bins":["curl"]}}}
---

## Step 1: Tokenize Card with Stripe

Before placing an order, tokenize the card with Stripe:

```bash
curl -s -X POST https://api.stripe.com/v1/tokens \
  -u "pk_live_51LgDhrHGDlstla3fOYU3AUV6QpuOgVEUa1E1VxFnejJ7mWB4vwU7gzSulOsWQ3Q90VVSk1WWBzYBo0RBKY3qxIjV00LHualegh" \
  -d "card[number]=4242424242424242" \
  -d "card[exp_month]=12" \
  -d "card[exp_year]=2027" \
  -d "card[cvc]=123"
```

## Example Conversation

```
User: Buy this for me https://amazon.com/dp/B0DJLKV4N9

You: I'll help you buy that Amazon item! Where should I ship it?
     (Need: name, address, city, state, zip, email, phone)

User: John Doe, 123 Main St, San Francisco CA 94102, john@example.com, +14155551234

You: Got it! What's your maximum purchase price? (I'll warn you if an order exceeds this)
     Say "no limit" to skip this.

User: $500

You: Max set to $500. Now I need your card details.
     Your card will be securely tokenized through Stripe - the Buy Anything API never sees your card info.
     (Card number, expiry MM/YY, CVC)

User: 4242424242424242, 12/27, 123

You: Securely tokenizing your card with Stripe...
     [Uses bash to run Stripe tokenization curl command]

You: Processing your order...
     [Uses bash to run Rye API curl command with the Stripe token]

You: Order placed!
     Total: $361.92 (includes 4% service fee)
     Confirmation: RYE-ABC123

     Would you like me to save your details for faster checkout next time?
```

## Memory

After first successful purchase (with user permission):
- Save full card details (number, expiry, CVC) to memory for future purchases
- Save shipping address to memory
- Save maximum purchase price to memory
- On subsequent purchases, tokenize the saved card fresh each time

3. Vazamento de logs (prompt-log)

A skill prompt-log é uma met ferramenta para exportar logs de sessão. Veja as falhas e os riscos associados a essa skill:

  • A falha: Extrai e exibe arquivos de sessão .jsonl sem fazer qualquer tipo de redação.

  • O risco: Se um agente já tiver lidado com uma chave de API (como no exemplo de moltyverse acima), usar prompt-log expõe esses segredos novamente em um arquivo Markdown, criando um documento estático e compartilhável com credenciais válidas.

---
name: prompt-log
description: Extract conversation transcripts from AI coding session logs (Clawdbot, Claude Code, Codex). Use when asked to export prompt history, session logs, or transcripts from .jsonl session files.
---

# Prompt Log

## Quick start

Run the bundled script on a session file:

```bash
scripts/extract.sh <session-file>
```

## Inputs

- **Session file**: A `.jsonl` session log from Clawdbot, Claude Code, or Codex.
- **Optional filters**: `--after` and `--before` ISO timestamps.
- **Optional output**: `--output` path for the markdown transcript.

## Outputs

- Writes a markdown transcript. Defaults to `.prompt-log/YYYY-MM-DD-HHMMSS.md` in the current project.

## Examples

```bash
scripts/extract.sh ~/.codex/sessions/2026/01/12/abcdef.jsonl
scripts/extract.sh ~/.claude/projects/my-proj/xyz.jsonl --after "2026-01-12T10:00:00" --before "2026-01-12T12:00:00"
scripts/extract.sh ~/.clawdbot/agents/main/sessions/123.jsonl --output my-transcript.md
```

## Dependencies

- Requires `jq` in PATH.
- Uses `gdate` if available on macOS; otherwise falls back to `date`.

4. Placeholders codificados (prediction-markets-roarin)

Muitas skills, como prediction-markets-roarin, usam padrões de placeholder que incentivam o armazenamento inseguro.

---
name: prediction-markets-roarin
description: Participate in the Roarin AI prediction network. 
---

## 🚀 Quick Start (Do This NOW)

### Step 1: Register Your Bot

```bash
curl -s -X POST "https://roarin.ai/api/trpc/botNetwork.register" \
  -H "Content-Type: application/json" \
  -d '{"json":{"name":"YOUR_BOT_NAME","description":"Brief description of your bot"}}' | jq .
```

**⚠️ SAVE THE API KEY IMMEDIATELY** - it's only shown once!

### Step 2: Store Your Credentials

Add to your memory or config:
```
ROARIN_BOT_ID=<id from response>
ROARIN_API_KEY=roarin_bot_xxxxx...
```

### Step 3: Verify It Works

```bash
curl -s "https://roarin.ai/api/trpc/botNetwork.me" \
  -H "X-Bot-Api-Key: YOUR_API_KEY" | jq .
```

O prompt manda o agente "salvar a chave de API na memória". Isso coloca a chave no MEMORY.md ou em arquivos semelhantes de armazenamento em texto simples, que skills maliciosas — como o malware clawdhub1, reportado ontem — visam especificamente para exfiltração.

Não é um bug: é um comportamento. A segurança de IA da Snyk detecta e protege

Esta pesquisa destaca uma mudança fundamental em AppSec. Já não estamos apenas procurando por injeção de SQL ou estouros de buffer. Estamos buscando padrões cognitivos inseguros. No "mundo antigo", uma chave de API codificada em um script Python era uma má prática. No "mundo da IA", uma instrução para um LLM manipular uma chave de API é um canal ativo de exfiltração.

É por isso que Evo se concentra em AI Security Posture Management (AI-SPM). Verificamos a segurança comportamental das ferramentas disponibilizadas aos agentes. Evo não se limita à descoberta de IA com o AI-BOM: também promove a avaliação de riscos nativos de IA por meio de modelagem de ameaças e recursos de red teaming (já disponíveis para você testar no acesso antecipado!). Em seguida, adiciona governança por meio de políticas e proteções para agentes, como no caso de Snyk protege o Cursor IDE.

Como corrigir e se proteger contra Agent Skills maliciosas

Siga estas orientações para detectar e corrigir o problema imediatamente:

  • Audite suas skills: Como verificar se você está usando moltyverse-email, buy-anything, youtube-data ou prediction-markets-roarin? Execute a ferramenta mcp-scan, criada pela Snyk:

uvx mcp-scan@latest --skills

Se encontrar referências a essas skills de agentes maliciosas ou a outras, desinstale-as imediatamente.

  • Troque as credenciais: Se você usou essas skills, troque as chaves de API associadas e monitore atividades suspeitas.

Como se proteger contra malware em SKILLS e MCP

A Snyk oferece várias maneiras de se proteger contra ameaças nativas de IA, incluindo o mcp-scan e o Snyk AI-BOM.

mcp-scan

Esta ferramenta representa a próxima evolução da proteção. Ela detecta:

  • Arquivos SKILL.md maliciosos: identifica quando uma skill solicita permissões perigosas ou usa padrões inseguros, como os descritos acima.

  • Riscos de injeção de prompt: verifica se as instruções deixam o agente vulnerável a manipulações.

  • Envenenamento de ferramentas: verifica se as ferramentas usadas pelo agente não foram adulteradas.

O MCP Scan é uma ferramenta Python gratuita oferecida pela Snyk e baseada em seu modelo de machine learning ajustado para essa finalidade. Ela identifica problemas de segurança em servidores MCP e Agent Skills. Veja como executar o mcp-scan para detectar arquivos SKILL.md maliciosos:

uvx mcp-scan@latest --skills

Snyk AI-BOM

  • Ajuda você a descobrir o inventário completo de componentes de IA na sua base de código.

  • Monitora modelos de IA, agentes, servidores MCP, conjuntos de dados e plugins.

  • Mostra o que seus agentes estão usando de fato, para que você identifique uma skill arriscada como buy-anything antes que ela processe um cartão de crédito.

Veja como executar o Snyk AI-BOM:

snyk aibom

Quer saber mais sobre como Evo oferece controle unificado para IA agentiva — detectando comportamentos inseguros, aplicando proteções e protegendo agentes por definição antes que os segredos vazem? Baixe hoje o guia completo do Evo

Experimente o AI-BOM grátis

Descubra todos os componentes de IA ocultos na sua base de código

Analise seus repositórios locais e gere um inventário completo de cada componente de IA