Bizone Bug Bounty
# 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
Scored across 10 tools
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.
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.
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.
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.