BeVigil MCP server
Descubra superfícies de ataque de aplicativos móveis via BeVigil OSINT — hosts, subdomínios, URLs e mais.
Documentação
BeVigil MCP Server
Mapeie a superfície de ataque móvel de uma empresa a partir do seu assistente de IA.
O BeVigil escaneou milhões de aplicativos Android e extraiu a infraestrutura escondida neles — hosts de backend, subdomínios de staging, buckets S3, caminhos de API e parâmetros de consulta que nunca aparecem em DNS ou mecanismos de busca. Este servidor coloca esses dados atrás de sete ferramentas MCP, para que você possa solicitá-los em linguagem natural em vez de montar chamadas curl.
Feito para caçadores de bug bounty, pentesters, red teamers e engenheiros de appsec que fazem reconhecimento.
Testado com Claude Code, Claude Desktop, Codex, Cursor e VS Code.
Início rápido (2 minutos)
1. Obtenha uma chave de API gratuita
Cadastre-se em bevigil.com/osint-api. Contas gratuitas recebem 25 créditos, ou 200 se você se registrar com um e-mail corporativo. Uma consulta = um crédito.
2. Adicione o servidor
Sem clone, sem build — npx baixa e executa.
Claude Code
claude mcp add bevigil -e BEVIGIL_API_KEY=your_key_here -- npx -y bevigil-mcp-server
Verifique se foi registrado com claude mcp list.
Claude Desktop
Edite claude_desktop_config.json (Configurações → Desenvolvedor → Editar Config):
{
"mcpServers": {
"bevigil": {
"command": "npx",
"args": ["-y", "bevigil-mcp-server"],
"env": { "BEVIGIL_API_KEY": "your_key_here" }
}
}
}
Reinicie o Claude Desktop.
Codex
codex mcp add bevigil --env BEVIGIL_API_KEY=your_key_here -- npx -y bevigil-mcp-server
Verifique se foi registrado com codex mcp list.
Cursor
Adicione a ~/.cursor/mcp.json (global) ou .cursor/mcp.json (projeto):
{
"mcpServers": {
"bevigil": {
"command": "npx",
"args": ["-y", "bevigil-mcp-server"],
"env": { "BEVIGIL_API_KEY": "your_key_here" }
}
}
}
VS Code (Copilot)
Adicione às suas configurações de MCP do VS Code:
{
"mcp": {
"servers": {
"bevigil": {
"command": "npx",
"args": ["-y", "bevigil-mcp-server"],
"env": { "BEVIGIL_API_KEY": "your_key_here" }
}
}
}
}
3. Faça sua primeira pergunta
Investigue com.whatsapp com o BeVigil e resuma a infraestrutura que ele expõe.
Você deve receber algo assim — hostnames reais extraídos do código do aplicativo:
# Investigation Report: com.whatsapp
Source: BeVigil OSINT API
## Hosts / Domains (155 found)
• osaka.nyc3.cdn.digitaloceanspaces.com
• s3.getstickerpack.com
• logger.instagram.com
• dev503.prn2.facebook.com
...
É isso — você está fazendo OSINT a partir da janela de chat.
O que você pode perguntar
Reconhecimento da pegada móvel de uma empresa
Quais aplicativos Android falam com
api.acme.com? Depois extraia os hosts de cada um.
Encontre endpoints de staging e internos
Obtenha subdomínios para
acme.comdo BeVigil e sinalize qualquer coisa que pareça dev, staging ou interno.
Procure por armazenamento exposto
Quais buckets S3 o
com.acme.mobilereferencia?
Crie uma wordlist de fuzzing específica para o alvo
Extraia a wordlist do BeVigil para
com.acme.mobilee salve os caminhos de API empaths.txt.
Pivote a partir de um único domínio
Encontre aplicativos que referenciam
acme.com, depois investigue os três mais interessantes e me diga quais backends eles compartilham.
O último é onde um agente mostra seu valor — são uma dúzia de chamadas de API e uma passada de correlação que você faria manualmente.
Ferramentas
| Ferramenta | Entrada | Retorna |
|---|---|---|
bevigil_get_hosts | ID do pacote | Hostnames encontrados no código de um aplicativo |
bevigil_get_subdomains | domínio | Subdomínios vistos em aplicativos indexados |
bevigil_get_urls | domínio | URLs completas referenciadas por aplicativos |
bevigil_get_s3_buckets | ID do pacote | Buckets S3 referenciados em um aplicativo |
bevigil_get_app_packages | hostname | Consulta reversa — aplicativos que usam esse host |
bevigil_get_wordlist | ID do pacote | Caminhos, endpoints e parâmetros para fuzzing |
bevigil_investigate_app | ID do pacote | Hosts + S3 + parâmetros + wordlist em um relatório |
Paginação
Toda ferramenta que retorna listas aceita limit e offset opcionais (padrão 100, máximo 500). Quando os resultados são truncados, a resposta informa isso e fornece o offset exato para continuar:
Hosts for com.whatsapp (155 found)
Source: BeVigil OSINT (package: com.whatsapp)
Showing 1-100 of 155.
For the next page, call this tool again with offset=100.
Créditos
As respostas não são armazenadas em cache. Cada chamada de ferramenta — incluindo cada página extra — é uma requisição de API e um crédito. bevigil_investigate_app faz quatro chamadas por execução, então custa quatro. Quando os créditos acabam, você recebe uma mensagem clara em vez de um resultado vazio silencioso.
Aplicativos que ainda não estão indexados
O BeVigil só responde para aplicativos que já escaneou. Se um pacote não estiver no índice, as ferramentas informam como corrigir isso:
"com.acme.mobile" is not in BeVigil's index, so there is no data to return.
To add it, upload the APK at https://bevigil.com/scanApp. BeVigil scans the app
and indexes the assets it finds, after which this tool will return them.
Isso é deliberadamente distinguido de "aplicativo está indexado, mas não tem buckets S3" — apenas o primeiro caso é algo sobre o qual você pode agir.
Referência de configuração
Chave de API
Preferido: defina-a na configuração do seu cliente MCP (como mostrado no início rápido), que a passa para o servidor como uma variável de ambiente. Para uso em shell:
export BEVIGIL_API_KEY=your_api_key_here
Um arquivo .env na raiz do pacote também funciona. Observe que ele é resolvido em relação ao pacote instalado, e não ao seu diretório de trabalho, já que os clientes MCP iniciam servidores de lugares arbitrários. Variáveis de ambiente reais sempre vencem .env, e .env é ignorado pelo git — nunca o envie.
Executando a partir do código-fonte
Para desenvolvimento local, ou para fixar um commit específico:
git clone https://github.com/santhosh-005/bevigil-mcp-server.git
cd bevigil-mcp-server
npm install
npm run build
Em seguida, aponte seu cliente para o ponto de entrada compilado em vez de npx:
claude mcp add bevigil -e BEVIGIL_API_KEY=your_key_here -- node /absolute/path/to/bevigil-mcp-server/build/index.js
Requisitos: Node.js 20.12+, uma chave de API do BeVigil e um cliente compatível com MCP.
Como funciona
MCP Client → BeVigil MCP Server → osint.bevigil.com
· Zod input validation
· pagination + truncation
· error normalisation
O servidor é uma camada fina e bem defendida: valida entradas, mantém as respostas dentro de um orçamento de contexto sensato e transforma as várias maneiras diferentes da API de dizer "nada aqui" em uma mensagem consistente e acionável.
Decisões de design que vale a pena conhecer:
- Sete ferramentas moldadas por tarefa, não wrappers brutos de endpoint — cada uma mapeia algo que um pesquisador realmente deseja.
- Resultados paginados com dicas de próximo offset, para que grandes conjuntos de resultados permaneçam acessíveis sem inundar a janela de contexto.
- Consultas concorrentes no fluxo de trabalho de investigação.
- Tratamento de falhas parciais — uma consulta quebrada não derruba o relatório inteiro.
- Os achados são rotulados como dados observados, nunca afirmados como vulnerabilidades. Um nome de bucket é uma pista, não um achado.
Limitações
- Apenas dados de aplicativos móveis — isso reflete o que está embutido no código de aplicativos Android, não enumeração de DNS ou varredura em toda a internet. Use-o junto com suas ferramentas habituais, não no lugar delas.
- Cobertura apenas do índice — apenas aplicativos que o BeVigil escaneou. Aplicativos não indexados podem ser enviados em bevigil.com/scanApp.
- Sem busca de aplicativos — você precisa de um ID de pacote ou domínio antecipadamente; não há endpoint para descobrir aplicativos por nome.
- Metadados limitados de aplicativos — consultas reversas de hostname retornam nome e versão do aplicativo; caso contrário, você obtém apenas ativos relevantes para segurança.
- Atualidade dos dados — os resultados refletem a varredura mais recente do BeVigil de cada aplicativo, que pode não ser atual.
- Baseado em créditos — veja Créditos acima.
Segurança
- As chaves de API são lidas do ambiente (ou de um
.envna raiz do pacote) — nunca codificadas, nunca registradas - Mensagens de erro nunca expõem credenciais, e um teste garante isso
- O servidor só fala com endpoints conhecidos do BeVigil — sem busca arbitrária de URLs
- Parâmetros de caminho são codificados em URL, então um ID de pacote malicioso não pode escapar do endpoint pretendido
- Todas as entradas de ferramentas são validadas com esquemas Zod
- Timeouts de requisição previnem conexões penduradas
- Tamanhos de página são limitados (máx. 500) para evitar estouro de contexto
- Um hook de pre-commit e um job de CI verificam que nenhuma credencial chega ao repositório
Use com responsabilidade. Esta ferramenta consulta um banco de dados OSINT público. O que você faz com os resultados é sua responsabilidade — teste apenas sistemas que você está autorizado a testar.
Desenvolvimento
npm install
npm test # typecheck + full suite
npm run lint # typecheck only
npm run build
Os testes usam o runner embutido do Node com respostas de API simuladas — sem chamadas ao vivo, sem gastar créditos. A cobertura abrange o cliente de API (cabeçalhos de autenticação, todos os caminhos de erro HTTP, timeouts, respostas malformadas e envelopadas, e uma verificação de que erros nunca vazam a chave) e todos os sete manipuladores de ferramentas, incluindo o comportamento de falha parcial do fluxo de trabalho de investigação.
Para habilitar o hook de pre-commit que bloqueia o commit de credenciais:
git config core.hooksPath .githooks
Ele recusa qualquer commit que prepare um arquivo .env ou coloque um valor não-placeholder em .env.example, e executa gitleaks nas alterações preparadas quando instalado.
Estrutura do projeto
├── src/
│ ├── index.ts # MCP server entry point
│ ├── bevigil-client.ts # API client (auth, errors, timeouts, envelopes)
│ ├── types.ts # Shared types, pagination, output helpers
│ └── tools/ # One file per MCP tool
├── tests/
│ ├── bevigil-client.test.ts
│ ├── tools.test.ts
│ └── fixtures/responses.ts
├── .github/workflows/ci.yml # Typecheck, build, test, secret scan
├── .githooks/pre-commit # Blocks committing credentials
└── server.json # MCP Registry metadata
Contribuindo
Issues e PRs são bem-vindos — relatórios de bugs, novos endpoints do BeVigil e configurações de cliente para hosts MCP não listados acima são todos úteis.
Licença
MIT — veja LICENSE.
Não afiliado ou endossado pela CloudSEK. BeVigil é um produto da CloudSEK; este é um cliente open-source independente para sua API OSINT pública.