Relacje katalogowe

Obsługiwane urządzenia

Home Assistant jest otwartym systemem automatyki uruchamianym lokalnie, z interfejsem webowym, silnikiem integracji, rejestrem urządzeń i encji, automatyką, historią oraz API. W katalogu bioreaktorów jego potwierdzone zastosowanie dotyczy społecznościowego mostka dla Brewtools FCS: firmware ESPHome na ESP32-C3 tłumaczy ramki CAN sensora gęstości i mieszadła na encje Home Assistant.

Home Assistant nie zastępuje fabrycznego sterownika FCS ani firmware urządzeń CAN. Pełni rolę systemu nadrzędnego dla niezależnego projektu lovekull76/brewtools-can-esphome: prezentuje pomiary, wysyła działania do encji i może uruchamiać automatyzacje. Połączenie jest lokalne, stałe i wykorzystuje szyfrowany ESPHome native API, a nie MQTT.

Najważniejsze dane

Pole Wartość
Opiekun projektu Open Home Foundation / projekt Home Assistant
Typ lokalna platforma integracyjna, automatyka, dashboard, historia i API
Bieżący Core sprawdzony dla karty 2026.9.1, wydany 5 września 2026 r.
Home Assistant OS 18.2
Supervisor 2026.09.0
Frontend w Core 2026.9.1 20260826.6
Wspierane typy instalacji Home Assistant OS oraz Home Assistant Container
Minimalny Python Core 2026.9.1 3.14.2
Licencja Core Apache-2.0
Lokalna opłata licencyjna / dongle bez opłaty i bez sprzętowego klucza licencyjnego
Opcjonalny Home Assistant Cloud w UE 7,50 EUR miesięcznie albo 75 EUR rocznie, VAT w cenie
HTTP/UI w Home Assistant OS od 2026.8 domyślnie 80/TCP
HTTP/UI w Home Assistant Container domyślnie 8123/TCP
REST API /api/, JSON, Bearer access token
WebSocket API /api/websocket, JSON i access token w fazie uwierzytelnienia
ESPHome native API stałe połączenie do urządzenia, domyślnie 6053/TCP, opcjonalny Noise PSK
Domyślna baza historii SQLite w /config/home-assistant_v2.db
Alternatywne bazy Recorder MariaDB ≥10.3, MySQL ≥8.0, PostgreSQL ≥12
Konfiguracja i stan /config, pliki YAML, .storage, rejestry i baza Recorder
Biblioteka ESPHome w Core 2026.9.1 aioesphomeapi==46.2.0
Relacja w katalogu Brewtools FCS poprzez niezależny most ESPHome
Najważniejsze CVE opisane w karcie CVE-2026-64824, CVE-2026-64825, CVE-2026-34205, CVE-2026-54317, CVE-2026-64823, CVE-2025-62172, CVE-2025-25305, CVE-2023-27482, CVE-2023-41895, CVE-2023-41896

Core, OS, Supervisor, Container i frontend

Numery składników nie są wariantami jednego pliku. Tworzą warstwy o własnym cyklu aktualizacji:

Składnik Rola
Home Assistant Core aplikacja Python: stany, encje, automatyzacje, integracje, API i Recorder
Home Assistant Frontend aplikacja webowa obsługująca dashboardy i ustawienia
Home Assistant Supervisor zarządza Core, aplikacjami, backupami i aktualizacjami w Home Assistant OS
Home Assistant OS minimalny system operacyjny zawierający Supervisor i Core
Home Assistant Container obraz OCI z Core uruchamiany na systemie i runtime zarządzanym przez operatora

Home Assistant OS jest wdrożeniem appliance: system, Supervisor, Core i aplikacje aktualizuje się z jednego interfejsu. Home Assistant Container uruchamia Core w Dockerze lub innym runtime OCI, lecz host, sieć, storage, backup obrazu i aktualizacje pozostają po stronie operatora. Container nie udostępnia aplikacji Supervisora.

Samodzielna instalacja Core w środowisku Python i instalacja Home Assistant Supervised na zwykłym Debianie zakończyły oficjalne wsparcie po wydaniu 2025.12. Core nadal istnieje jako serce obu wspieranych wariantów i jako środowisko deweloperskie, ale nie jest już osobnym zalecanym typem produkcyjnej instalacji.

Wersje trzeba rejestrować oddzielnie. Stanowisko może mieć Core 2026.9.1, Supervisor 2026.09.0, HAOS 18.2 i frontend 20260826.6. Sam napis „Home Assistant 2026.9” nie wystarcza do oceny podatności obejmującej tylko Supervisor, OS, frontend, integrację albo aplikację mobilną.

Architektura integracji Brewtools

Łańcuch sterowania ma pięć głównych warstw:

operator / automatyzacja
        ↓
Home Assistant Core i rejestr encji
        ↓  ESPHome native API + Noise
ESP32-C3 z firmware brewtools-can-esphome
        ↓  CAN 1 Mbit/s
sensor gęstości/temperatury i mieszadło Brewtools

Core nie dekoduje ramek Brewtools. Robi to konfiguracja ESPHome na ESP32-C3. Home Assistant widzi już encje typu sensor, switch, number i button oraz przesyła do nich polecenia przez bibliotekę aioesphomeapi.

Manifest integracji ESPHome w Core 2026.9.1 podaje:

Element Wartość
klasa IoT Local Push
quality scale Platinum
biblioteka API aioesphomeapi==46.2.0
API Device Buildera esphome-dashboard-api==1.4.0
Bluetooth proxy bleak-esphome==4.0.0
zeroconf _esphomelib._tcp.local.
discovery zeroconf i DHCP
domyślny port urządzenia 6053/TCP

Integracja utrzymuje połączenie zamiast cyklicznie odpytywać sensor. Zmiany SG, temperatury, rpm i diagnostyki są wypychane z urządzenia. Home Assistant automatycznie ponawia połączenie po utracie łączności i może odnaleźć urządzenie przez mDNS.

Dane wpisu integracji ESPHome

Konfiguracja integracji jest config entry przechowywanym w .storage/core.config_entries. Dla urządzenia ESPHome obejmuje między innymi:

  • host lub adres IP;
  • port, domyślnie 6053;
  • nazwę urządzenia;
  • unikatowy identyfikator powiązany z urządzeniem;
  • noise_psk, jeśli native API ma włączone szyfrowanie;
  • historyczne pole hasła dla starszych urządzeń.

Core 2026.9.1 redaguje noise_psk, hasło i adresy MAC w eksporcie diagnostycznym integracji. Sam plik core.config_entries pozostaje jednak materiałem wrażliwym na dysku oraz w backupie. Klucz odpowiada bt_api_encryption_key z secrets.yaml firmware mostka i powinien być zabezpieczony po obu stronach.

W integracji dostępne są dwie ważne opcje. Allow the device to perform Home Assistant actions pozwala urządzeniu ESPHome wywoływać działania w Home Assistant i jest domyślnie wyłączona. Nie jest potrzebna do zwykłego sterowania encjami mostka z Home Assistant. Subscribe to logs from the device przesyła logi firmware do logera homeassistant.components.esphome i również jest opcją włączaną świadomie.

Encje mostka Brewtools

Snapshot lovekull76/brewtools-can-esphome wystawia następujący zakres:

Grupa Encje i działania
mieszadło włączenie/wyłączenie, zadanie PWM, odczyt rpm
gęstość skalibrowane SG, surowe SG, wartość referencyjna, kalibracja i start pomiaru
temperatura temperatura brzeczki
diagnostyka status, uptime, Wi-Fi RSSI, temperatura ESP, liczba ramek CAN, wersja ESPHome i build firmware

Sterowanie i sensory Brewtools CAN w Home Assistant

Źródło: repozytorium lovekull76/brewtools-can-esphome, images/hass.jpeg. Ekran przedstawia encje faktycznie utworzone przez społecznościowy most: sterowanie mieszadłem, kalibrację, start pomiaru, SG i temperaturę.

Diagnostyka mostka Brewtools CAN w Home Assistant

Źródło: repozytorium lovekull76/brewtools-can-esphome, images/hass_2.jpeg. Widoczny węzeł jest połączony, używa ESPHome 2026.5.3 i raportuje build, liczbę ramek CAN, uptime, RSSI oraz temperaturę mikrokontrolera.

Stan encji Home Assistant nie jest autonomicznym potwierdzeniem stanu mechanicznego. W projekcie stan przełącznika i nastawa PWM są odtwarzane z flash ESP32-C3, a licznik ramek potwierdza odbiór ruchu CAN. Test procesu powinien korelować zmianę encji, ramkę CAN, rpm i obserwowany ruch mieszadła.

HTTP, frontend i porty

Home Assistant obsługuje frontend oraz API przez integrację HTTP. Od wydania 2026.8 domyślny port w Home Assistant OS to 80/TCP. W Home Assistant Container i klasycznych przykładach pozostaje 8123/TCP. Zmienna SETUP_PORT może nadpisać port startowy, a bieżące ustawienie jest widoczne w Settings → System → Network.

Usługa Port / ścieżka Rola
frontend i HTTP 80/TCP w HAOS albo 8123/TCP w Container logowanie, dashboard, ustawienia i zasoby
REST API ten sam port, /api/ JSON oraz wywołania stanów i działań
WebSocket API ten sam port, /api/websocket strumień stanów, zdarzeń i komendy frontendu
ESPHome native API 6053/TCP na ESP32-C3 telemetria i sterowanie encjami mostka
mDNS 5353/UDP discovery _esphomelib._tcp.local. i innych usług lokalnych

REST wymaga nagłówka Authorization: Bearer TOKEN. WebSocket najpierw wysyła auth_required; klient odpowiada wiadomością auth z access_token, po czym otrzymuje auth_ok albo auth_invalid. Numer wersji Core pojawia się w fazie uwierzytelnienia WebSocket.

Certyfikat i klucz TLS mogą być skonfigurowane bezpośrednio w integracji HTTP. Przy reverse proxy Home Assistant wymaga use_x_forwarded_for oraz jawnej listy trusted_proxies; niezaufany proxy-header jest odrzucany. Ustawienia portu i HTTP wprowadzane z UI wymagają potwierdzenia administratora po restarcie, a bez potwierdzenia w ciągu pięciu minut system wraca do poprzedniej konfiguracji.

REST, WebSocket i zakres tokenu

Long-lived access token jest tworzony w profilu użytkownika i dziedziczy jego uprawnienia. API nie ma osobnego globalnego hasła. OAuth 2 z rozszerzeniem IndieAuth jest stosowany do autoryzowania aplikacji, a po zalogowaniu użytkownik otrzymuje access token i refresh token.

Kontekst użytkownika jest przekazywany do wywołań działań i zdarzeń. Kontrola uprawnień może obejmować operacje read, control i edit na encji. Endpoint administracyjny powinien dodatkowo wymagać is_admin; dotyczy to zarówno REST, jak i komend WebSocket.

Dla mostka Brewtools oznacza to, że token używany przez skrypt zewnętrzny może sterować encjami mieszadła, jeżeli konto ma prawo control. Wydzielone konto integracyjne z ograniczonym zakresem jest łatwiejsze do odwołania i audytu niż token właściciela. Identyfikator użytkownika zapisany w kontekście pomaga powiązać działanie z klientem, lecz automatyzacje mogą działać bez bezpośredniego kontekstu człowieka.

Konta, role i MFA

Home Assistant nie ma fabrycznego loginu ani domyślnego hasła. Pierwszy użytkownik jest tworzony podczas onboardingu i staje się właścicielem. Wbudowany provider przechowuje dane uwierzytelnienia w /config/.storage/auth_provider.homeassistant, a użytkowników, grupy i tokeny w /config/.storage/auth. Hasła są solone i hashowane.

Poziom Zakres
owner pełny dostęp, zarządzanie użytkownikami; uprawnienia nie ograniczają właściciela
administrator konfiguracja integracji, urządzeń i ustawień systemowych oraz zarządzanie użytkownikami
non-admin user używanie encji i własnych dashboardów bez dostępu do ustawień systemowych

Każde logowanie urządzenia tworzy refresh token. Nieużywany refresh token jest usuwany po 90 dniach; do stałej integracji przeznaczony jest long-lived access token. Zmiana hasła może wymusić wylogowanie pozostałych sesji. Tokeny można odwoływać z profilu.

Wbudowany moduł TOTP jest automatycznie dostępny, jeśli konfiguracja nie definiuje innego zestawu auth_mfa_modules. Sekret TOTP trafia do .storage/auth_module.totp. Moduł Notify MFA może przechowywać swój stan w .storage/auth_module.notify. Dokładny czas systemowy ma znaczenie dla weryfikacji kodów TOTP.

Provider trusted_networks pozwala ominąć wpisywanie hasła dla określonych sieci. Użyty bez zapasowego type: homeassistant pozwala każdemu klientowi z zaufanej sieci wybrać użytkownika bez hasła. W sieci obejmującej urządzenia laboratoryjne taka konfiguracja rozszerza zaufanie na każdy host w podanym CIDR.

Pliki w /config i .storage

Home Assistant OS używa /config; w Container jest to katalog zamontowany do kontenera jako config volume. Do istotnych artefaktów należą:

Artefakt Zawartość
configuration.yaml główna konfiguracja i część integracji deklarowanych ręcznie
secrets.yaml wartości używane przez !secret; plik rozdziela sekrety, ale ich nie szyfruje
automations.yaml, scripts.yaml, scenes.yaml logika wykonawcza tworzona w UI lub ręcznie
.storage/auth użytkownicy, grupy, credential IDs i tokeny
.storage/auth_provider.homeassistant hashe haseł lokalnego providera
.storage/auth_module.totp sekrety i powiązania modułu TOTP
.storage/core.config_entries wpisy integracji, w tym host, port i Noise PSK ESPHome
.storage/core.device_registry urządzenia i identyfikatory integracji
.storage/core.entity_registry encje, nazwy, wyłączenia i powiązania z urządzeniami
.storage/core.area_registry, core.floor_registry odwzorowanie lokalizacji logicznych
.storage/core.restore_state ostatnie stany używane przy odtwarzaniu encji
.storage/trace.saved_traces zachowane ślady automatyzacji i skryptów
home-assistant_v2.db domyślna baza stanów, zdarzeń i statystyk Recorder
home-assistant.log bieżący log Core w typowej konfiguracji
ip_bans.yaml adresy zablokowane przez ochronę HTTP
www/ pliki wystawiane jako /local/ bez uwierzytelnienia

secrets.yaml nie szyfruje wartości. Chroni przed przypadkowym umieszczeniem haseł w głównej konfiguracji, ale każda osoba z odczytem katalogu nadal uzyskuje ich treść. Dodatkowo sekrety używane w automatyzacjach mogą być widoczne administratorom przez źródło YAML i trace viewer.

Recorder i bazy danych

Recorder zapisuje każdą zmianę stanu oraz wybrane zdarzenia. Historia, Activity, wykresy i statystyki długoterminowe czytają te dane. Domyślnym i rekomendowanym silnikiem jest SQLite, a baza znajduje się w /config/home-assistant_v2.db.

Silnik Minimalna wersja wskazana w dokumentacji
SQLite 3.40.1
MariaDB 10.3
MySQL 8.0
PostgreSQL 12

Zewnętrzny backend ustawia się przez recorder.db_url. Home Assistant używa SQLAlchemy, lecz oficjalnie wspiera wymienione silniki. Migracja istniejącej historii pomiędzy bazami nie jest funkcją Recorder; przy zmianie backendu trzeba osobno zaplanować zachowanie materiału historycznego.

Dla mostka Brewtools baza może zawierać przebiegi SG, temperatury, rpm, PWM, statusu połączenia i diagnostyki. Retencję można ograniczać przez include/exclude oraz purge. Przy SQLite uszkodzona baza może zostać odłożona, a Core utworzy nową, aby wrócić do pracy; dokumentacja zaleca wolne miejsce co najmniej 2,5-krotnie większe od bazy dla tej procedury.

Panel wykorzystania udziałów sieciowych w Home Assistant 2026.9

Źródło: Home Assistant 2026.9 — „How full is your network storage?”, oficjalny zrzut wydania. Panel pokazuje udziały backup, media i documents wraz z pojemnością i progami wizualnymi 85%/95%.

Backupi i SecureTar v3

Backup jest dostępny w Home Assistant OS i Container. Automatyczne kopie można planować z UI, ustalać retencję, wykonywać kopię przed aktualizacją i kierować ją lokalnie, na udział sieciowy albo do dostawcy obsługiwanego przez integrację.

Od Home Assistant 2026.4 nowe zaszyfrowane kopie używają SecureTar v3:

Element Mechanizm
KDF Argon2id, osobne podklucze dla części backupu
szyfrowanie i integralność libsodium secretstream / XChaCha20-Poly1305
klucz AEAD 256 bitów
materiał odzyskiwania backup emergency kit z kluczem szyfrującym

Trail of Bits przeprowadziło niezależny audyt. Wykryto trzy zagadnienia: porównanie podatne na analizę czasową o znaczeniu informacyjnym, niebezpieczny fallback parsera do starego formatu oraz ryzyko supply-chain w GitHub Actions. Przegląd poprawek potwierdził zamknięcie wszystkich trzech.

Emergency kit musi być przechowywany poza instancją. Zaszyfrowany backup bez tego klucza nie odtworzy systemu. Home Assistant Cloud przechowuje jeden zaszyfrowany backup do 5 GB w ramach subskrypcji. Kopia na tym samym nośniku co /config nie zabezpiecza przed awarią dysku ani przejęciem hosta.

Aktualizacje i rollback

Home Assistant OS pozwala osobno aktualizować OS, Supervisor, Core i aplikacje. Container wymaga pobrania nowego obrazu oraz ponownego uruchomienia kontenera przez operatora. Release notes zawierają zmiany niekompatybilne i wersje wymaganych bibliotek/integracji.

Od Core 2026.9 instalowanie, pomijanie i czyszczenie pominięcia aktualizacji wymaga konta administratora. Skrypt uruchomiony ręcznie działa w kontekście użytkownika i respektuje tę kontrolę; automatyzacja działa bez kontekstu użytkownika. To rozróżnienie powinno zostać uwzględnione w audycie ścieżki zmiany wersji.

Aktualizacja Home Assistant nie aktualizuje automatycznie firmware ESPHome na ESP32-C3 ani firmware urządzeń CAN Brewtools. Po wdrożeniu trzeba sprawdzić co najmniej cztery wersje: Core, bibliotekę aioesphomeapi, firmware mostka i firmware węzłów Brewtools.

Home Assistant Cloud, cena i zdalny dostęp

Home Assistant działa lokalnie bez subskrypcji. Home Assistant Cloud jest opcjonalną usługą Nabu Casa zapewniającą zdalny adres bez przekierowania portu, połączenia z Amazon Alexa i Google Assistant, usługi głosowe, webhooki, WebRTC oraz off-site backup.

Region Miesięcznie Rocznie
Unia Europejska 7,50 EUR z VAT 75 EUR z VAT
USA / international 6,50 USD bez lokalnego podatku 65 USD bez lokalnego podatku
Wielka Brytania 6,50 GBP z VAT 65 GBP z VAT
Kanada 8,70 CAD bez lokalnego VAT 87 CAD bez lokalnego VAT

Wydanie 2026.9 oferuje 31-dniowy okres próbny bez danych płatniczych. Cloud nie jest wymagany dla mostka Brewtools działającego przez lokalny native API. Zdalny dostęp przez Cloud przekazuje od 2026.9 rzeczywisty adres klienta do mechanizmu logowania, dzięki czemu blokady IP mogą rozróżniać źródła prób.

Alternatywą jest VPN. Bezpośrednie port-forwarding wymaga TLS oraz pełnego hardeningu HTTP. Reverse proxy musi być jedynym wpisanym trusted_proxy; szeroki CIDR pozwoliłby klientom podszyć się pod X-Forwarded-For i zakłócić logi albo blokady.

Ochrona HTTP

Integracja HTTP obsługuje:

  • wybór adresów nasłuchu;
  • certyfikat i klucz TLS;
  • opcjonalny certyfikat klienta;
  • profile TLS;
  • CORS allowed origins;
  • X-Frame-Options;
  • automatyczne bany po ustalonej liczbie nieudanych logowań;
  • listę zaufanych reverse proxy.

Po pierwszym banie powstaje /config/ip_bans.yaml z adresem i czasem UTC. Wartość login_attempts_threshold=-1 wyłącza tworzenie nowych automatycznych banów. W 2026.9 ruch przez Home Assistant Cloud zachowuje źródłowy adres klienta, więc ban nie blokuje wszystkich klientów tunelu jako jednego 127.0.0.1.

Katalog /config/www jest publikowany pod /local/ bez autoryzacji. Nie powinien zawierać logów, eksportów diagnostycznych, wykresów procesu, backupów, tokenów ani fotografii etykiet stanowiska przeznaczonych wyłącznie dla operatorów.

Bieżący interfejs 2026.9

Panel Security z aktywnymi alertami i ulubionymi encjami

Źródło: Home Assistant 2026.9 — „Active alerts and favorites for the Security dashboard”, oficjalny zrzut wydania. Ekran pokazuje konfigurację ulubionych encji oraz alarmów o poziomach Alert i Warning.

Dashboard nie nadaje encji dodatkowych uprawnień. Jest widokiem danych i działań dostępnych zalogowanemu użytkownikowi. W środowisku laboratoryjnym warto oddzielić dashboard obserwacyjny od konta administracyjnego i od widoku umożliwiającego zmianę PWM albo wysyłanie kalibracji.

Podatności Core, OS i Supervisora

Poniższe rekordy mają bezpośrednie znaczenie dla serwera Home Assistant albo wspieranego stosu OS/Supervisor. Core 2026.9.1, HAOS 18.2 i Supervisor 2026.09.0 są nowsze od wymienionych zakresów, lecz kopia obrazu lub backup mogą ujawnić starszy stan wdrożenia.

Identyfikator Typ i komponent Zakres / poprawka
CVE-2026-64824 path traversal podczas restore backupu przez symlink z absolutnym linkname, możliwość zapisu poza katalogiem i RCE w kontenerze działającym jako root Core starszy niż 2026.7.0; poprawione w 2026.7.0
CVE-2026-64825 zapis dowolnego pliku przez pole name w backup.json podczas uploadu w oknie onboardingu Core starszy niż 2026.6.0; poprawione w 2026.6.0
CVE-2026-34205 / GHSA-gh5m-4m97-c95h aplikacje z host-network wystawiały na LAN endpointy przeznaczone dla sieci wewnętrznej Supervisora HAOS ≤17.1 i Supervisor ≤2026.03.1; Supervisor 2026.03.2 zamyka problem
CVE-2026-54317 / GHSA-x84v-g949-293w endpoint GET integracji Konnected ujawniał stan przełączników i topologię stref bez uwierzytelnienia na LAN Core starszy niż 2026.6.0
CVE-2026-64823 XSS w proxy obrazu integracji Shelly przez data: o typie text/html, z ryzykiem kradzieży tokenu i działań w tej samej domenie Core starszy niż 2026.5.4
CVE-2026-33044 / GHSA-r584-6283-p7xc stored XSS w Map card przez złośliwą nazwę encji wydania 2020.02–2025.12; poprawka 2026.01
CVE-2026-33045 / GHSA-46j8-vpx8-6p72 stored XSS w history graph dla sensora remaining charge time wydania 2025.02–2025.12; poprawka 2026.01
CVE-2025-62172 / GHSA-mq77-rv97-285m stored XSS w tooltipie wykresu przez nazwę encji energii 2025.1.0–2025.10.1; poprawka 2025.10.2
CVE-2025-65713 path traversal w integracji Downloader przy łączeniu ścieżek Core starszy niż 2025.8.0
CVE-2025-25305 / GHSA-m3pm-rpgg-5wj6 wyłączenie weryfikacji certyfikatu TLS w części wywołań Core i bibliotek po błędnej migracji parametru aiohttp Core starszy niż 2024.1.6
CVE-2023-27482 / GHSA-2j8f-h4mr-qr25 zdalne obejście uwierzytelnienia Supervisor API przez Home Assistant Supervisor z historycznego zakresu przed poprawkami marca 2023 oraz Core starszy niż 2023.3.2
CVE-2023-41895 / GHSA-jvxq-x42r-f7mv javascript: w ścieżce auth_callback, XSS i pełne przejęcie konta/instancji Core starszy niż 2023.9.0
CVE-2023-41896 / GHSA-cr83-q7r2-7f5q frontend mógł zostać skierowany do fałszywego serwera WebSocket, a odpowiedzi prowadziły do XSS i przejęcia Core starszy niż 2023.8.0; home-assistant-js-websocket starszy niż 8.2.0
CVE-2023-41894 / GHSA-wx3j-3v2j-rf45 webhook oznaczony jako local-only był dostępny przez publiczny tunel SniTun Core starszy niż 2023.9.0

Tabela obejmuje podatności platformy, a nie automatycznie konkretnego mostka. Na przykład Konnected i Shelly są osobnymi integracjami, ale pokazują, że lokalne urządzenie lub jego nazwa/dane mogą przekroczyć granicę zaufania i wpłynąć na domenę frontendu.

Companion Apps i oddzielne wersje

Aplikacje mobilne mają własne wydania i własne CVE. Nie można uznać ich za zaktualizowane na podstawie wersji Core.

Identyfikator Skutek Poprawiony zakres
CVE-2026-66061 / GHSA-j23v-9672-677j iOS przekazywał tag NFC/QR do Home Assistant bez potwierdzenia, umożliwiając ciche uruchomienie automatyzacji iOS 2026.5.0
CVE-2026-66060 / GHSA-2xqv-hwrf-983f analogiczne wywołanie tagu przez niezaufaną aplikację Android oficjalny rekord wskazuje poprawkę aplikacji Android 2026.8.1
CVE-2026-59717 / GHSA-68f4-97mf-f68w deep link homeassistant://invite nie prezentował hosta i umożliwiał phishing poświadczeń Android 2026.6.1
CVE-2026-54318 / GHSA-77r5-pw5w-mgj3 wyeksportowany BroadcastReceiver pozwalał lokalnej aplikacji sfałszować lokalizację i uruchomić automatykę strefową Android 2026.5.3
CVE-2026-44698 / GHSA-7jp2-p2fw-mgvf dostęp cross-origin iframe do mostu JavaScript WebView i wyciek access tokenu iOS 2026.4.1, Android 2026.4.4
CVE-2026-55844 / GHSA-cm5v-547m-qh5h iOS ignorował allowlistę SSID dla internal URL, co mogło ujawnić token w obcej sieci iOS 2025.5.0

Jeżeli aplikacja mobilna może sterować mieszadłem, jej token i mechanizmy deep-link/tag są częścią powierzchni sterowania procesem. W akwizycji należy zapisać wersję aplikacji, identyfikator refresh tokenu, skonfigurowany internal/external URL i automatyzacje reagujące na lokalizację, NFC lub QR.

Granice komponentów zewnętrznych

HACS, custom integrations, custom dashboard cards i aplikacje Supervisora wykonują kod spoza Core. Ich CVE nie są CVE Home Assistant Core. Przykładowo historyczne CVE-2021-47942 dotyczy HACS, a seria CVE-2026-53453–CVE-2026-53458 dotyczy zewnętrznego Blueprint Studio. Obecność tych komponentów trzeba ustalić z /config/custom_components, zasobów dashboardu, rejestru aplikacji i backupu.

Każda integracja może rozszerzyć API, storage i połączenia wychodzące. Baseline bez listy niestandardowych komponentów jest niepełny, nawet gdy Core ma bieżącą wersję.

Baseline i akwizycja

Dla stanowiska Home Assistant połączonego z Brewtools warto utrwalić:

  1. typ instalacji oraz wersje Core, frontend, OS, Supervisor i aplikacji;
  2. obraz dysku lub wolumenu /config wraz z metadanymi systemu plików;
  3. configuration.yaml, wszystkie pliki dołączane i secrets.yaml w oddzielnym zaszyfrowanym materiale;
  4. .storage/auth, auth_provider.homeassistant, moduły MFA i core.config_entries;
  5. rejestry urządzeń, encji, obszarów i pięter;
  6. automatyzacje, skrypty, sceny i zapisane trace;
  7. bazę Recorder wraz z WAL/SHM albo dane zewnętrznego backendu;
  8. home-assistant.log, logi kontenera, Supervisora, proxy i Cloud;
  9. listę tokenów, klientów OAuth, Companion Apps i daty ostatniego użycia;
  10. ustawienia HTTP, TLS, trusted_proxies, CORS, IP bans i external/internal URL;
  11. wpis ESPHome: host, port, identyfikator urządzenia i zabezpieczony Noise PSK;
  12. wersję aioesphomeapi, firmware ESPHome i hash konfiguracji mostka;
  13. historię SG, temperatury, rpm, PWM oraz dostępności urządzenia;
  14. listę custom integrations, HACS, custom cards i aplikacji Supervisora;
  15. zaszyfrowany backup, emergency kit i próbę odtworzenia w odizolowanym środowisku.

Korelacja czasu powinna objąć Core, ESP32-C3 i urządzenia Brewtools. Automatyzacja może zmienić PWM bez interaktywnej sesji użytkownika, a ESP32-C3 może odtworzyć nastawę po restarcie. Dlatego baza stanów, trace automatyzacji, log native API i przechwycony CAN są komplementarne.

Materiały i pliki do pobrania

Materiał Zastosowanie Link
Home Assistant Core 2026.9.1 źródła dokładnego wydania opisanego w karcie release GitHub
Obraz Home Assistant Container produkcyjny obraz OCI Core GitHub Container Registry
Home Assistant OS 18.2 obrazy appliance dla wspieranych platform release GitHub
Home Assistant Supervisor 2026.09.0 źródła i release warstwy zarządzającej HAOS release GitHub
Dokumentacja instalacji porównanie Home Assistant OS i Container oficjalna strona instalacji
Integracja ESPHome konfiguracja hosta, portu, Noise PSK, opcji i encji oficjalna dokumentacja
REST API endpointy, JSON i Bearer token dokumentacja deweloperska
WebSocket API faza uwierzytelnienia, wiadomości i subskrypcje dokumentacja deweloperska
SecureTar v3 projekt biblioteki szyfrowania backupów repozytorium GitHub
Security advisories oficjalne GHSA projektu Home Assistant Core Security Advisories
Most Brewtools YAML ESPHome, encje, okablowanie i zrzuty lovekull76/brewtools-can-esphome

Powiązane urządzenia i oprogramowanie

Źródła