Руководство по проверке сетевого трафика

Не доверяй на слово, проверяй

Проверьте сетевой трафик GhostBro самостоятельно через локальный прокси. Базовая рекомендация — mitmproxy: он бесплатный, прозрачный, гибкий и работает на разных платформах.

Рекомендуемый вариант: mitmproxy

Смотрите реальные запросы, а не догадки по следам браузера.

AI-запросы GhostBro идут вне вкладки Network в DevTools браузера. Локальный HTTPS-прокси позволяет прямо на своей машине увидеть адрес назначения, заголовки, тело запроса и ответ.

mitmproxy --listen-port 8080

# Нужен интерфейс в браузере?
mitmweb --listen-port 8080
01

Сначала используйте mitmproxy

Такой путь легко повторить: установите прокси, доверьте его локальному сертификату, направьте через него GhostBro и затем смотрите только запросы к нужному провайдеру.

2

Запустите прокси

Используйте интерфейс в терминале, если хотите сосредоточенно проверить трафик, или веб-интерфейс, если удобнее кликать по запросам.

# Интерфейс в терминале
mitmproxy --listen-port 8080

# Интерфейс в браузере
mitmweb --listen-port 8080
3

Установите сертификат mitmproxy

Пока прокси запущен, откройте http://mitm.it на той же машине и установите сертификат для своей ОС. Именно он позволяет локально просматривать тела HTTPS-запросов.

4

Направьте GhostBro через прокси

Запустите GhostBro с переменными окружения для прокси, чтобы сетевой трафик приложения шёл через mitmproxy.

# macOS
HTTPS_PROXY=http://localhost:8080 \
HTTP_PROXY=http://localhost:8080 \
  /Applications/GhostBro.app/Contents/MacOS/GhostBro

# Windows PowerShell
$env:HTTPS_PROXY = "http://localhost:8080"
$env:HTTP_PROXY = "http://localhost:8080"
& "$env:LOCALAPPDATA\Programs\GhostBro\GhostBro.exe"

Если ваша ОС или сборка приложения уже умеет использовать системный прокси, можно настроить его там. Но запуск через переменные окружения удобен тем, что делает сессию проверки явной и легко повторяемой.

02

Проверяйте правильные данные

Запустите любое AI-действие в GhostBro, а потом сузьте список запросов до того провайдера, который у вас настроен.

Фильтруйте по домену провайдера

В mitmproxy ищите домен провайдера, который выбран в GhostBro. Среди ожидаемых AI-адресов могут быть:

OpenAI
api.openai.com
Anthropic
api.anthropic.com
Google Gemini
generativelanguage.googleapis.com
OpenRouter
openrouter.ai
Локальная LLM
localhost / 127.0.0.1
Пользовательский провайдер
Ваш настроенный base URL

Проверьте тело запроса

AI-запрос должен содержать только модель, текст промпта и данные со скриншота или аудио, которые действительно нужны для выбранного действия.

POST https://api.openai.com/v1/chat/completions
Authorization: Bearer sk-********************************
Content-Type: application/json

{
  "model": "gpt-4o",
  "messages": [{
    "role": "user",
    "content": [
      { "type": "text", "text": "Реши эту задачу по программированию..." },
      { "type": "image_url", "image_url": { "url": "data:image/png;base64,..." } }
    ]
  }]
}
03

Понимайте, что именно должно быть в трафике

Хорошая проверка выглядит скучно в лучшем смысле: есть запросы к провайдеру для AI-задач, есть обращения GhostBro за статусом аккаунта и нет неожиданных утечек данных.

Нормально

  • Для AI-задач запросы уходят только на домен выбранного AI-провайдера.
  • Ваш API-ключ виден только в заголовке Authorization у запроса к провайдеру.
  • В теле запроса есть только промпт и данные скриншота или транскрибации, нужные для запущенного действия.
  • Запросы GhostBro к аккаунту идут на ghostbro.app для авторизации и проверки подписки.

Тревожные сигналы

  • API-ключ провайдера уходит на какой-либо посторонний домен.
  • Во время AI-действия появляются запросы к неизвестным сторонним хостам.
  • В payload попадают файлы, учётные данные, история браузера или другие не относящиеся к задаче локальные данные.
  • Фоновые AI-запросы повторяются, хотя вы не запускали никакого AI-действия.
04

Что именно отправляет GhostBro

Точный набор полей зависит от провайдера, но общая структура должна оставаться узкой и понятной.

Поле Что в нём содержится
Изображение скриншота PNG-скриншот для анализа, обычно отправляется как base64 data URL.
Текст промпта Инструкция, которую GhostBro использует для выбранного действия, вместе с настроенным языком и контекстом.
Идентификатор модели Например, gpt-4o, claude-3-5-sonnet-latest или имя вашей пользовательской модели.
API-ключ Ключ провайдера, который присутствует только в заголовке авторизации запроса к самому провайдеру.

API-ключ провайдера никогда не должен уходить на серверы GhostBro. Он должен присутствовать только в запросах к тому AI-провайдеру, которого выбрали вы.

Нужна помощь?

Посмотрите другие материалы документации или свяжитесь с нашей командой, если что-то застопорилось.