Skip to main content
Glama
ROOT-CyberM

Bizone Bug Bounty

by ROOT-CyberM
README.md
# Bizone Bug Bounty

MCP-сервер для [BI.ZONE Bug Bounty](https://bugbounty.bi.zone): программы, скоуп, правила, выплаты и рейтинг исследователей прямо в ИИ-агенте.

- **Только чтение** — в коде нет ни одного не-GET запроса
- **Приватные программы** — если подключён cookie аккаунта
- **Ваши отчёты недоступны** — агент видит чужие, но не ваши
- Без браузера и парсинга HTML — работает через публичное API платформы

## Установка

Нужен Node.js 18.17+.

```bash
git clone https://github.com/ROOT-CyberM/bizone-bug-bounty.git
cd bizone-bug-bounty
npm install
```

`npm install` сам соберёт `dist/`. Проверка:

```bash
npm run smoke
```

## Подключение

Везде нужен абсолютный путь до `dist/index.js`.

### OpenCode

`opencode.json`:

```json
{
  "mcp": {
    "servers": {
      "bizone-bug-bounty": {
        "type": "local",
        "command": ["node", "/abs/path/bizone-bug-bounty/dist/index.js"],
        "timeout": { "startup": 30000, "catalog": 30000, "execution": 120000 }
      }
    }
  }
}
```

### Claude Code

```bash
claude mcp add --transport stdio bizone -- node /abs/path/bizone-bug-bounty/dist/index.js
```

### Claude Desktop и Cursor

`claude_desktop_config.json` / `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "bizone": {
      "command": "node",
      "args": ["/abs/path/bizone-bug-bounty/dist/index.js"]
    }
  }
}
```

### VS Code

`.vscode/mcp.json`:

```json
{
  "servers": {
    "bizone": {
      "type": "stdio",
      "command": "node",
      "args": ["/abs/path/bizone-bug-bounty/dist/index.js"]
    }
  }
}
```

Windows-путь в JSON: `C:\\Users\\you\\bizone-bug-bounty\\dist\\index.js`.

## Авторизация (необязательно)

Без cookie видны только публичные программы. С cookie — плюс приватные и приглашённые. Ваши отчёты не показываются в любом режиме.

1. Войдите на bugbounty.bi.zone.
2. DevTools → Application → Cookies → `https://bugbounty.bi.zone` → `sessionid` → скопируйте значение.
3. Выберите способ хранения:

| Способ | Как |
| --- | --- |
| **DPAPI** (Windows) | `powershell -ExecutionPolicy Bypass -File scripts/protect-session.ps1` → путь в `BIZONE_SESSIONID_DPAPI_FILE` |
| Переменная | `BIZONE_SESSIONID=<значение>` |
| Файл | `BIZONE_SESSIONID_FILE=<путь>` с правами только владельцу |

Для OpenCode добавьте в блок сервера:

```json
"environment": {
  "BIZONE_SESSIONID_DPAPI_FILE": "C:\\Users\\you\\.config\\bizone\\sessionid.dpapi"
}
```

Ротация: выйти/войти на платформе и повторить шаг 2.

## Инструменты

| Инструмент | Что даёт |
| --- | --- |
| `list_programs` | Поиск программ: выплаты, отчёты, размер скоупа, доступ (public/private) |
| `get_program` | Профиль: таблица выплат по критичности, статистика, правила |
| `get_program_scope` | In-scope и out-of-scope активы с критичностью и целью |
| `search_scope` | Какие программы покрывают домен или продукт |
| `list_reports` | Отчёты других исследователей |
| `get_report` | Детали одного отчёта |
| `program_stats` | Агрегаты выплат по программе |
| `top_hackers` | Рейтинг: глобальный или внутри программы |
| `get_researcher` | Профиль: место, репутация, ачивки, выплаты |
| `get_me` | Ваш профиль (нужен cookie) |

Метрики: `rating` — сумма баллов (может уменьшаться), `signal` −10…+7, `impact` 0…50.

## Безопасность

- Только `GET` — отправить отчёт или что-то изменить невозможно.
- Cookie уходит только на `https://*.bi.zone`; cross-host редиректы блокируются.
- `my_reports` отсутствует, свои отчёты отфильтрованы во всех инструментах.
- Секрет не хранится в конфиге и не попадает в git; `get_me` маскирует PII.
- Правила программ помечены как untrusted — защита от промпт-инъекций.

Модель угроз и остаточные риски: [SECURITY.md](SECURITY.md).

## Примеры запросов

- «Какие приватные программы мне доступны?»
- «Покажи скоуп kaspersky и что вне его»
- «Сколько платили на sberbank-online за 2025 год?»
- «Профиль Santry: место, ачивки, на чём заработал»

## Разработка

```bash
npm run build   # tsc → dist/
npm run smoke   # e2e-проверка публичного и приватного режимов
```

```
src/client.ts        API-клиент: кэш, retry, секреты
src/tools/*          инструменты MCP
scripts/smoke.mjs    e2e-тест по stdio
```

## Лицензия

MIT. Проект не аффилирован с BI.ZONE.

TDQS

A3.9/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have clearly distinct purposes: program lookup, scope lookup, cross-program asset search, report browsing, researcher profiles, and statistics are separated. There is some overlap because get_program includes scope and statistics summaries, while get_program_scope and program_stats expose those areas in dedicated detail.

Naming Consistency4/5

Most tool names follow a predictable verb_noun pattern such as list_programs, get_program, get_report, and search_scope. The main deviations are noun-phrase tools like top_hackers and program_stats, plus the colloquial get_me, but the set remains readable.

Tool Count5/5

Ten tools is well-scoped for a read-only bug bounty intelligence server. Each tool maps to a meaningful resource area such as programs, scopes, reports, researchers, or statistics.

Completeness4/5

The surface covers program discovery, scope checking, report inspection, researcher profiles, leaderboards, and aggregate statistics, with no obvious dead ends for research workflows. Minor gaps remain around write/comment/report-submission operations and richer report interactions, likely intentional for a read-only server.

Maintenance

ActivityMaintained
ResponsivenessNo issues