Bezpieczeństwo

Przegląd

Neotask jest zaprojektowany z architekturą bezpieczeństwo-jako-priorytet. Brama domyślnie jest powiązana z localhost, wszystkie wrażliwe dane są szyfrowane w spoczynku, a wykonanie agentów może być izolowane w kontenerach.

Bezpieczeństwo sieci

Pętla zwrotna domyślnie

Brama nasłuchuje tylko na 127.0.0.1 (localhost), chyba że wyraźnie zmienisz tryb powiązania. Domyślnie brak zewnętrznej ekspozycji sieciowej.

Uwierzytelnianie

Wszystkie połączenia WebSocket wymagają uwierzytelniania:

Bezpieczeństwo zdalnego dostępu

Dla zdalnego dostępu zalecane podejście to VPN Tailscale lub tunelowanie SSH -- nigdy nie wystawiaj bramy bezpośrednio na internet.

Parowanie urządzeń

Jak działa parowanie

Każdy klient łączący się z bramą musi być sparowany:

  1. Urządzenie prezentuje swoją tożsamość (odcisk + klucz publiczny)
  2. Brama wydaje wyzwanie parowania (nonce)
  3. Urządzenie podpisuje nonce swoim kluczem prywatnym
  4. Zatwierdzasz urządzenie przez interfejs użytkownika
  5. Brama wydaje token urządzenia dla przyszłych połączeń

Model zaufania

Szyfrowanie

Dane w spoczynku

Dane w tranzycie

Sandboxing

Izolacja oparta na Docker

Wykonanie poleceń agenta może być izolowane w kontenerach Docker:

Zakresy piaskownicy

Zakres Opis
Per sesja Nowy kontener dla każdej sesji
Per agent Trwały kontener per agent
Udostępniony Wspólny kontener między agentami

Dostęp do przestrzeni roboczej

Agenci z piaskownicą mogą uzyskać dostęp do swojego katalogu przestrzeni roboczej (zamontowanego do kontenera), ale nie mogą uzyskać dostępu do systemu plików hosta poza swoją przestrzenią roboczą.

Zatwierdzenia Exec

Kontroluj, jakie polecenia agenci mogą wykonywać na węzłach i hoście bramy:

Tryby

Tryb Opis
Lista dozwolonych Wykonują się tylko wcześniej zatwierdzone polecenia
Pytaj Nieznane polecenia wymagają zatwierdzenia użytkownika
Pełny Brak ograniczeń (używaj ostrożnie)

Konfiguracja per węzeł

Każdy węzeł (macOS, host headless) ma własną konfigurację zatwierdzania exec, przechowywaną lokalnie. Możesz zezwolić na konkretne binaria (np. /usr/bin/docker, /usr/local/bin/terraform), blokując wszystko inne.

Tryb podwyższony

Niektóre operacje wymagają bezpośredniego uruchamiania na hoście bramy (nie w piaskownicy). Tryb podwyższony to:

Audyt bezpieczeństwa

Wbudowany audyt bezpieczeństwa sprawdza:

Audyt może automatycznie naprawić wiele problemów po udzieleniu pozwolenia.

Najlepsze praktyki

  1. Trzymaj bramę na pętli zwrotnej -- Używaj Tailscale lub SSH dla zdalnego dostępu
  2. Włącz sandboxing -- Uruchamiaj polecenia agentów w kontenerach Docker
  3. Używaj list dozwolonych exec -- Ogranicz, które polecenia agenci mogą uruchamiać na węzłach
  4. Ustaw tokeny uwierzytelniające -- Zawsze konfiguruj uwierzytelnianie tokenem, nawet dla pętli zwrotnej
  5. Przeglądaj uprawnienia agentów -- Używaj minimalnych profili narzędzi tam, gdzie to możliwe
  6. Aktualizuj Neotask -- Aktualizacje zawierają poprawki bezpieczeństwa
  7. Regularnie audytuj -- Uruchamiaj audyty bezpieczeństwa, aby wykryć błędne konfiguracje
  8. Ogranicz ładowanie wtyczek -- Instaluj tylko zaufane wtyczki