BeVigil OSINT

io.github.santhosh-005由 GitHub 账号 santhosh-005 发布v1.1.0更新于 Oct 24, 2026

Discover mobile app attack surfaces via BeVigil OSINT — hosts, subdomains, URLs, and more.

发布方自己的服务:osint.foundation

概览

AI 生成的概览

本地 MCP 服务器,查询 BeVigil 的移动应用 OSINT 数据库,让助手梳理 Android 应用代码中暴露的主机、子域名、URL 和存储。

可以做什么
按 Android 包名查询主机、S3 存储桶、模糊测试词表和完整调查报告,包括一次汇总主机、存储桶、参数与路径的综合报告。按域名获取已索引应用中出现的子域名和完整 URL。按主机名反查引用它的应用。通过 limit 和 offset 分页浏览大量结果,结果被截断时给出下一页偏移提示。
适用场景
适合漏洞赏金、渗透测试、红队和应用安全侦察,从域名或包名转向移动应用基础设施。也适合对话式侦察,让助手串联多次查询并关联共享后端。
运行要求
通过 npx 以 stdio 在本地运行(需 Node.js 20.12+),或从源码构建后运行。需要 BeVigil API 密钥,通过环境变量 BEVIGIL_API_KEY 提供,并需能访问 BeVigil 的 OSINT 接口。需要兼容 MCP 的客户端。
安装前请注意
每次查询消耗 BeVigil 积分(免费账户额度有限),重复或分页查询都会消耗。BEVIGIL_API_KEY 是密钥,通过环境变量或包根目录的 .env 文件传入,切勿提交到仓库。结果是既往扫描得到的观测数据,并非已确认的漏洞,且只覆盖 BeVigil 已索引的应用;仅对获授权测试的系统使用。

安装

在 SourceWeft 中

  1. 打开 控制台中的 BeVigil OSINT,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

BeVigil MCP Server

[npm] [CI] [License: MIT] [M8ven Score] [bevigil-mcp-server MCP server]

Map a company's mobile attack surface from your AI assistant.

BeVigil has scanned millions of Android apps and extracted the infrastructure hiding inside them — backend hosts, staging subdomains, S3 buckets, API paths, and query parameters that never appear in DNS or search engines. This server puts that data behind seven MCP tools, so you can ask for it in plain language instead of stitching together curl calls.

Built for bug bounty hunters, pentesters, red teamers, and appsec engineers doing recon.

Tested with Claude Code, Claude Desktop, Codex, Cursor, and VS Code.


Quick start (2 minutes)

1. Get a free API key

Sign up at bevigil.com/osint-api. Free accounts get 25 credits, or 200 if you register with a work email. One lookup = one credit.

2. Add the server

No clone, no build — npx fetches and runs it.

Claude Code
bash
claude mcp add bevigil -e BEVIGIL_API_KEY=your_key_here -- npx -y bevigil-mcp-server

Check it registered with claude mcp list.

Claude Desktop

Edit claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "bevigil": {      "command": "npx",      "args": ["-y", "bevigil-mcp-server"],      "env": { "BEVIGIL_API_KEY": "your_key_here" }    }  }}

Restart Claude Desktop.

Codex
bash
codex mcp add bevigil --env BEVIGIL_API_KEY=your_key_here -- npx -y bevigil-mcp-server

Check it registered with codex mcp list.

Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

json
{  "mcpServers": {    "bevigil": {      "command": "npx",      "args": ["-y", "bevigil-mcp-server"],      "env": { "BEVIGIL_API_KEY": "your_key_here" }    }  }}
VS Code (Copilot)

Add to your VS Code MCP settings:

json
{  "mcp": {    "servers": {      "bevigil": {        "command": "npx",        "args": ["-y", "bevigil-mcp-server"],        "env": { "BEVIGIL_API_KEY": "your_key_here" }      }    }  }}

3. Ask your first question

Investigate com.whatsapp with BeVigil and summarise the infrastructure it exposes.

You should get back something like this — real hostnames pulled out of the app's code:

# Investigation Report: com.whatsappSource: BeVigil OSINT API
## Hosts / Domains (155 found)• osaka.nyc3.cdn.digitaloceanspaces.com• s3.getstickerpack.com• logger.instagram.com• dev503.prn2.facebook.com...

That's it — you're doing OSINT from the chat window.


What you can ask

Recon a company's mobile footprint

Which Android apps talk to api.acme.com? Then pull the hosts out of each one.

Find staging and internal endpoints

Get subdomains for acme.com from BeVigil and flag anything that looks like dev, staging, or internal.

Hunt for exposed storage

What S3 buckets does com.acme.mobile reference?

Build a target-specific fuzzing wordlist

Pull the BeVigil wordlist for com.acme.mobile and save the API paths to paths.txt.

Pivot from a single domain

Find apps referencing acme.com, then investigate the three most interesting ones and tell me which backends they share.

The last one is where an agent earns its keep — that's a dozen API calls and a correlation pass that you'd otherwise do by hand.


Tools

ToolInputReturns
bevigil_get_hostspackage IDHostnames found in an app's code
bevigil_get_subdomainsdomainSubdomains seen across indexed apps
bevigil_get_urlsdomainFull URLs referenced by apps
bevigil_get_s3_bucketspackage IDS3 buckets referenced in an app
bevigil_get_app_packageshostnameReverse lookup — apps using that host
bevigil_get_wordlistpackage IDPaths, endpoints, and params for fuzzing
bevigil_investigate_apppackage IDHosts + S3 + params + wordlist in one report

Pagination

Every list-returning tool takes optional limit and offset (default 100, max 500). When results are truncated the response says so and gives the exact offset to continue from:

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.

Credits

Responses are not cached. Every tool call — including each extra page — is one API request and one credit. bevigil_investigate_app makes four calls per run, so it costs four. When credits run out you get a clear message rather than a silent empty result.

Apps that aren't indexed yet

BeVigil only answers for apps it has already scanned. If a package isn't in the index, the tools tell you how to fix that:

"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 appand indexes the assets it finds, after which this tool will return them.

This is deliberately distinguished from "app is indexed but has no S3 buckets" — only the first case is something you can act on.


Configuration reference

API key

Preferred: set it in your MCP client config (as shown in the quick start), which passes it to the server as an environment variable. For shell use:

bash
export BEVIGIL_API_KEY=your_api_key_here

A .env file in the package root also works. Note that it's resolved relative to the installed package rather than your working directory, since MCP clients launch servers from arbitrary places. Real environment variables always win over .env, and .env is gitignored — never commit it.

Running from source

For local development, or to pin a specific commit:

bash
git clone https://github.com/santhosh-005/bevigil-mcp-server.gitcd bevigil-mcp-servernpm installnpm run build

Then point your client at the built entry point instead of npx:

bash
claude mcp add bevigil -e BEVIGIL_API_KEY=your_key_here -- node /absolute/path/to/bevigil-mcp-server/build/index.js

Requirements: Node.js 20.12+, a BeVigil API key, and an MCP-compatible client.


How it works

MCP Client  →  BeVigil MCP Server  →  osint.bevigil.com              · Zod input validation              · pagination + truncation              · error normalisation

The server is a thin, well-defended layer: it validates inputs, keeps responses inside a sensible context budget, and turns the API's several different ways of saying "nothing here" into one consistent, actionable message.

Design decisions worth knowing about:

  • Seven task-shaped tools, not raw endpoint wrappers — each maps to something a researcher actually wants.
  • Paginated results with next-offset hints, so large result sets stay reachable without flooding the context window.
  • Concurrent lookups in the investigation workflow.
  • Partial failure handling — a broken lookup doesn't sink the whole report.
  • Findings are labelled observed data, never asserted as vulnerabilities. A bucket name is a lead, not a finding.

Limitations

  • Mobile app data only — this reflects what's embedded in Android app code, not DNS enumeration or internet-wide scanning. Use it alongside your usual tooling, not instead of it.
  • Index-only coverage — only apps BeVigil has scanned. Unindexed apps can be submitted at bevigil.com/scanApp.
  • No app search — you need a package ID or domain up front; there's no endpoint to discover apps by name.
  • Limited app metadata — reverse hostname lookups return app name and version; otherwise you get security-relevant assets only.
  • Data freshness — results reflect BeVigil's most recent scan of each app, which may not be current.
  • Credit-based — see Credits above.

Security

  • API keys are read from the environment (or a package-root .env) — never hardcoded, never logged
  • Error messages never expose credentials, and a test asserts this
  • The server only talks to known BeVigil endpoints — no arbitrary URL fetching
  • Path parameters are URL-encoded, so a crafted package ID can't escape the intended endpoint
  • All tool inputs are validated with Zod schemas
  • Request timeouts prevent hanging connections
  • Page sizes are bounded (max 500) to prevent context overflow
  • A pre-commit hook and a CI job both check that no credential reaches the repo
  • Every tool is annotated read-only and non-destructive — nothing this server exposes can modify data
  • No telemetry, no analytics, no stored queries — see PRIVACY.md

Use responsibly. This tool queries a public OSINT database. What you do with the results is your responsibility — only test systems you're authorised to test.


Development

bash
npm installnpm test        # typecheck + full suitenpm run lint    # typecheck onlynpm run build

Tests use Node's built-in runner with mocked API responses — no live calls, no credits spent. Coverage spans the API client (auth headers, every HTTP error path, timeouts, malformed and enveloped responses, and a check that errors never leak the key) and all seven tool handlers, including the investigation workflow's partial-failure behaviour. A registration contract test also asserts that every tool declares an input schema and all four MCP behaviour hints.

To enable the pre-commit hook that blocks committing credentials:

bash
git config core.hooksPath .githooks

It refuses any commit that stages a .env file or puts a non-placeholder value in .env.example, and runs gitleaks on staged changes when installed.

Project structure
├── 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

Contributing

Issues and PRs welcome — bug reports, new BeVigil endpoints, and client configurations for MCP hosts not listed above are all useful.

License

MIT — see LICENSE. Privacy policy: PRIVACY.md.

Not affiliated with or endorsed by CloudSEK. BeVigil is a CloudSEK product; this is an independent open-source client for their public OSINT API.

来源:README.md,提交 c0945e0

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Osint 集成