Przewodnik weryfikacji sieci

Nie ufaj, sprawdzaj

Audytuj ruch GhostBro samodzielnie za pomocą lokalnego proxy. Domyślnie polecamy mitmproxy, bo jest darmowy, otwarty, skryptowalny i działa na każdej platformie.

Domyślny wybór: mitmproxy

Przechwytuj prawdziwe żądania, a nie domysły w stylu przeglądarki.

Wywołania AI w GhostBro odbywają się poza zakładką Network w DevTools przeglądarki. Lokalne proxy HTTPS pozwala sprawdzić adres docelowy, nagłówki, treść żądania i odpowiedź bezpośrednio na Twoim komputerze.

mitmproxy --listen-port 8080

# Prefer a browser interface?
mitmweb --listen-port 8080
01

Zacznij od mitmproxy

Ten scenariusz utrzymuje audyt w powtarzalnej formie: zainstaluj proxy, zaufaj jego certyfikatowi, kieruj ruch GhostBro przez nie, a potem sprawdź tylko te żądania, które trafiają do dostawcy AI.

1

Zainstaluj mitmproxy

Użyj menedżera pakietów, któremu już ufasz. Poniższe polecenia to przykłady, nie wymóg.

# macOS
brew install mitmproxy

# Python/pipx
pipx install mitmproxy

# Python/pip
python -m pip install --user mitmproxy
2

Uruchom proxy

Użyj interfejsu w terminalu do skupionego audytu albo odpal interfejs webowy, jeśli wolisz klikać przez żądania.

# Terminal interface
mitmproxy --listen-port 8080

# Browser interface
mitmweb --listen-port 8080
3

Zainstaluj certyfikat mitmproxy

Gdy proxy działa, otwórz http://mitm.it na tym samym komputerze i zainstaluj certyfikat dla swojego systemu. To właśnie to pozwala odczytać treść żądań HTTPS na lokalnej maszynie.

4

Puść GhostBro przez proxy

Uruchom GhostBro ze zmiennymi środowiskowymi proxy, żeby ruch sieciowy aplikacji przechodził przez 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"

Jeśli Twój system lub build aplikacji już respektuje systemowe proxy, możesz je ustawić tam. Uruchamianie przez zmienne środowiskowe jest przydatne, bo sesja audytu staje się jawna i łatwa do powtórzenia.

02

Sprawdź właściwe ślady

Wywołaj akcję AI w GhostBro, a potem zawęź zapis do dostawcy AI, którego skonfigurowałeś.

Filtruj po domenie dostawcy

W mitmproxy wyszukaj domenę dostawcy, którą wybrałeś w GhostBro. Oczekiwane adresy docelowe AI to:

OpenAI
api.openai.com
Anthropic
api.anthropic.com
Google Gemini
generativelanguage.googleapis.com
OpenRouter
openrouter.ai
Lokalny LLM
localhost / 127.0.0.1
Własny dostawca
Twój skonfigurowany base URL

Sprawdź treść żądania

Żądanie do AI powinno zawierać tylko model, tekst promptu oraz zrzut ekranu lub payload wygenerowany z audio, potrzebny do akcji, którą wywołałeś.

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": "Solve this coding problem..." },
      { "type": "image_url", "image_url": { "url": "data:image/png;base64,..." } }
    ]
  }]
}
03

Wiedz, co powinno się pojawić

Czysty zapis jest nudny w najlepszym tego słowa znaczeniu: wywołania do dostawcy dla pracy AI, wywołania do GhostBro dla statusu konta i żadnych nieoczekiwanych eksportów danych.

Oczekiwane

  • Żądania trafiają tylko do domeny skonfigurowanego dostawcy AI w sprawach AI.
  • Twój klucz API pojawia się tylko w nagłówku Authorization dostawcy.
  • Treść żądania zawiera prompt i payload zrzutu ekranu lub transkrypcji dla akcji, którą wywołałeś.
  • Żądania dotyczące konta GhostBro trafiają do ghostbro.app w celu autoryzacji i sprawdzenia subskrypcji.

Czerwone flagi

  • Klucze API dostawcy wysyłane do jakiejkolwiek innej domeny niż domena dostawcy.
  • Żądania do nieznanych hostów osób trzecich w trakcie akcji AI.
  • Treści plików, dane logowania, historia przeglądania czy niezwiązane dane lokalne w payloaddzie.
  • Powtarzające się wywołania AI w tle, gdy nie uruchomiłeś żadnej akcji AI.
04

Co wysyła GhostBro

Dokładne pola zależą od dostawcy, ale kształt żądania powinien być wąski i zrozumiały.

Pole Co zawiera
Obraz zrzutu ekranu Zrzut PNG do analizy ekranu, zwykle wysyłany jako data URL w base64.
Tekst promptu Instrukcja, której GhostBro używa dla wybranej akcji, plus skonfigurowany język i kontekst.
Identyfikator modelu Na przykład gpt-4o, claude-3-5-sonnet-latest albo nazwa Twojego modelu niestandardowego.
Klucz API Twój klucz dostawcy, przekazywany tylko w nagłówku Authorization żądania do dostawcy.

Twój klucz API dostawcy nigdy nie powinien trafiać na serwery GhostBro. Powinien się pojawiać wyłącznie w żądaniach do wybranego dostawcy AI.

Potrzebujesz pomocy?

Zobacz więcej dokumentacji albo napisz do naszego zespołu, jeśli utkniesz.