Spis treści
W skrócie
- Pytanie
- Czy producent publikuje plik security.txt (RFC 9116)? To najprostszy publiczny sygnał, gdzie badacz może zgłosić podatność.
- Kogo sprawdziliśmy
- 1 691 producentów urządzeń i oprogramowania z 30 krajów Europy. Wybraliśmy 1 752 firmy, a 61 wyłączyliśmy, bo ich strony nie odpowiadały.
- Skąd firmy
- Z publicznych list wystawców targów branżowych i członków stowarzyszeń. Firm nie dobieraliśmy pod kątem bezpieczeństwa.
- Kiedy
- Pomiar 30.09.2026. Pole Expires sprawdziliśmy ponownie 1.10.2026.
- Jak
- 1–2 zapytania HTTPS GET na domenę:
/.well-known/security.txt, potem/security.txt. Jeśli domena nie odpowiadała, próbowaliśmy też adresu zwww.. - Wynik
- 16,6% (280 z 1 691) ma security.txt. 7,7% ma plik kompletny, czyli z polem Policy i ważną datą Expires.
- Zasada
- Publikujemy tylko wyniki zbiorcze. Nie podajemy nazw firm ani wyników pojedynczych firm.
01Co mierzymy i dlaczego
Cyber Resilience Act (rozporządzenie (UE) 2024/2847) wymaga od producenta m.in. polityki skoordynowanego ujawniania podatności (CVD) oraz adresu kontaktowego do zgłaszania podatności (załącznik I, część II, pkt 5 i 6). Obowiązki zgłaszania z art. 14 stosuje się od 11.09.2026, a główne obowiązki od 11.12.2027.
security.txt nie jest wymogiem CRA. To standard IETF (RFC 9116): plik tekstowy pod adresem /.well-known/security.txt, który podaje trzy rzeczy.
Contact: mailto:security@example.comwymaganegdzie zgłosić podatnośćExpires: 2027-09-30T00:00:00Zwymaganedo kiedy plik jest aktualnyPolicy: https://example.com/security-policyopcjonalnegdzie jest polityka przyjmowania zgłoszeń
Mierzymy właśnie ten plik, bo u każdej firmy da się go sprawdzić z zewnątrz w ten sam sposób.
Czego nie mierzymy: stron PSIRT lub CVD, do których nie prowadzi security.txt, adresów e-mail podanych w innych miejscach, programów bug bounty ani procesów wewnętrznych. Firma bez pliku może więc przyjmować zgłoszenia inną drogą. Dlatego brak security.txt nie oznacza braku procesu ani braku zgodności z CRA.
02Skąd pochodzą firmy
Próba łączy dwie listy. Obie zbudowaliśmy 30.09.2026 z publicznych źródeł. Na żadnym etapie wyboru firm nie sprawdzaliśmy security.txt ani innych sygnałów bezpieczeństwa.
Lista rozszerzona (runda 2)
- 9 139 unikalnych firm z list targów i stowarzyszeń
- 6 654 profile ocenione po wstępnym filtrze słów kluczowych
- 2 195 firm zakwalifikowanych
- 2 053 po usunięciu duplikatów
- 1 500 po ograniczeniu do najmocniejszych profili
- 252firmy z listy rundy 1, z 13 krajów
- 1 752firmy wybrane do pomiaru
- 61wyłączonych: strona nie odpowiadała
- 1 691producentów zmierzonych
Lista rundy 1 (252 firmy, 13 krajów)
- Źródła
- Lista producentów KNX Association; listy wystawców SPS 2026, Light + Building 2026 i ISH (przez publiczny endpoint JSON wyszukiwarki wystawców Messe Frankfurt/Mesago; według notatek z rundy 2 endpoint ISH zwracał listę z 2025 roku); katalog AMPER 2026 (Brno); listy wystawców SECUREX 2026 i ITM Industry Europe 2026 (MTP Poznań); listy członków KIGEiT, PISA, PIIT, PSME i klastra Interizon.
- Rama
- Siedziba w PL, DE, AT, CH, LI, CZ, DK, SE, NO, FI, NL, BE lub LU. Firma wytwarza własny sprzęt lub oprogramowanie z elementami cyfrowymi.
- Dobór
- Polskie listy były małe, więc przejrzeliśmy je w całości. Dla pozostałych krajów połączyliśmy listy, usunęliśmy duplikaty i ułożyliśmy je w losowej kolejności (Python
random, ziarno 20260930). Kwalifikowaliśmy firmy w tej kolejności, aż do wypełnienia kwoty dla kraju. 13 firm z siedzibą za granicą, które były na polskich listach, przypisaliśmy do kraju siedziby. - Kwalifikacja
- Jedna osoba, na podstawie opisu w katalogu albo strony głównej.
Lista rozszerzona w rundzie 2 (1 500 firm, 30 krajów)
- Źródła
- API wystawców Messe Frankfurt/Mesago: SPS 2026, Light + Building 2026, ISH (lista 2025), Intersec 2026, PCIM Europe 2026.
- Publiczny indeks firm NürnbergMesse: embedded world 2027, it-sa 2026, Chillventa 2026, Perimeter Protection 2027.
- Hannover Messe 2026, The smarter E Europe 2026 i security essen 2026.
- Katalog MTP Poznań: SECUREX 2026, Instalacje 2026, ITM 2026, INSECON 2026, NetZero Energy 2025, EnergyON 2026, EV Solutions 2025.
- Lista producentów KNX dla 13 kolejnych krajów.
Pobieraliśmy tylko dane firm, nigdy osób kontaktowych.
- Rama
- Siedziba w UE, Szwajcarii, Norwegii, Wielkiej Brytanii, Islandii lub Liechtensteinie.
- Przebieg
- 9 139 unikalnych firm, 6 654 profile ocenione po wstępnym filtrze słów kluczowych, 2 195 zakwalifikowanych, 2 053 po usunięciu duplikatów (m.in. firm z listy rundy 1).
- Kwalifikacja
- Model językowy według jednej pisemnej rubryki (partie po 250 rekordów) z ręczną kontrolą wyrywkową. Około 30 rekordów bez opisu oceniono na podstawie wiedzy ogólnej modelu.
- Ograniczenie do 1 500
- Usunęliśmy rekordy z najsłabszymi dowodami cyfrowych funkcji produktu w profilu:
- najniższą kategorię w Niemczech i w krajach spoza naszej listy priorytetowej;
- część kategorii środkowej z krajów spoza tej listy, najpierw rekordy z najmniejszą liczbą źródeł albo bez domeny.
W krajach priorytetowych (Polska, Austria, Czechy, Holandia, kraje nordyckie) zostawiliśmy wszystkie rekordy. To nie był wybór losowy.
Kryteria wspólne
- Włączamy
- Firmę, która produkuje lub sprzedaje pod własną marką sprzęt albo oprogramowanie instalowane u klienta, jeśli profil wskazuje elementy cyfrowe: firmware, sterownik, magistralę, łączność sieciową lub bezprzewodową, aplikację lub chmurę, oprogramowanie instalowane.
- Wyłączamy
- Dystrybutorów, instalatorów, integratorów, firmy usługowe, EMS i biura projektowe, przedstawicielstwa grup z siedzibą poza ramą, stowarzyszenia, instytuty i media, producentów wyrobów medycznych i części samochodowych, produkty wyłącznie wojskowe, studia gier, czyste SaaS, produkty mechaniczne i pasywne.
- Jedna firma na grupę kapitałową
- Biura lokalne przypisujemy do spółki matki i kraju jej siedziby.
- Domena
- Z katalogu, profilu na stronie targów albo sprawdzonej strony głównej. Jedna domena na firmę. Strony spółek zależnych w domenach krajowych nie były sprawdzane.
| Kraj | Firmy | Udział |
|---|---|---|
| Niemcy | 823 | 48,7% |
| Polska | 126 | 7,5% |
| Włochy | 103 | 6,1% |
| Holandia | 89 | 5,3% |
| Austria | 75 | 4,4% |
| Pozostałe 25 krajów | 475 | 28,1% |
| Razem | 1 691 | 100% |
03Jak mierzymy
- Wysyłamy zapytanie HTTPS GET na
https://<domena>/.well-known/security.txt. - Jeśli nie ma tam pliku, pytamy o
https://<domena>/security.txt(stara lokalizacja). - Jeśli domena nie odpowiada na poziomie sieci (DNS, TLS, połączenie), powtarzamy kroki 1–2 dla
www.<domena>.
Parametry zapytań
- Limit czasu: 12 s na zapytanie.
- Czytamy pierwsze 64 KiB odpowiedzi.
- Certyfikat TLS jest weryfikowany.
- Przekierowania HTTP są wykonywane.
- Nagłówek
User-Agent: AnnexProof security.txt survey (contact@annexproof.com).
Definicje wskaźników
| Wskaźnik | Definicja | Podstawa |
|---|---|---|
| Ma security.txt | Odpowiedź HTTP 200 i linia zaczynająca się od Contact: | 1 691 firm |
| Pole Policy | W pliku jest linia Policy: | 1 691 firm |
| Ważne Expires | Data w formacie RFC 3339 (w tym małe „t” i „z”), późniejsza niż chwila pomiaru | 1 691 firm |
| Plik kompletny | Pole Policy i ważne Expires | 1 691 firm |
| Problem z Expires | Data z przeszłości, zły format albo brak pola | 280 plików |
| Podpis PGP | Plik zawiera BEGIN PGP SIGNED MESSAGE | 1 691 firm |
| Wzmianka o CRA | W pliku pada słowo „CRA” lub „Cyber Resilience” (całe słowo, poza blokiem podpisu PGP) | 1 691 firm |
Sprawdzamy obecność pól, a nie ich jakość. Nie testujemy, czy adres z pola Contact działa, czy pod linkiem z pola Policy jest polityka ani czy podpis PGP jest ważny. Nie zapisujemy treści pól Contact.
04Wyłączenia i przypadki graniczne
- Wyłączone (61 domen)
- Błąd połączenia, DNS lub TLS (56) albo przekroczenie czasu (5). Takich stron nie liczymy ani jako „ma”, ani jako „nie ma”.
- Stara lokalizacja
- 15 plików znaleźliśmy tylko pod
/security.txt. Liczymy je jako obecne. RFC 9116 wymaga lokalizacji/.well-known/. - Adres z www.
- 4 pliki znaleźliśmy dopiero pod
www.<domena>.
Wrażliwość wyniku. Odpowiedzi 403, 429 i 5xx (62 domeny) mogą oznaczać blokadę automatów, a nie brak pliku. Bez nich udział wynosi 17,2% (280 z 1 629). Gdyby wszystkie te firmy miały plik, byłoby to 20,2%. Wynik główny 16,6% jest więc raczej dolną granicą.
05Wyniki (stan na 30.09.2026)
Wskaźniki główne
| Wskaźnik | Liczba | Udział |
|---|---|---|
| Ma security.txt | 280 | 16,6% |
| Wskazuje politykę CVD (pole Policy) | 150 | 8,9% |
| Ma ważne pole Expires | 240 | 14,2% |
| Plik kompletny (Policy i ważne Expires) | 130 | 7,7% |
| Plik podpisany PGP | 34 | 2,0% |
| Plik wspomina CRA | 10 | 0,6% |
Wzmianka o CRA po korekcie z 2.10.2026 (sekcja 8). Pierwsza wersja automatu szukała ciągu „cra” bez granic słowa i oznaczyła 14 plików (0,8%). Ponowny odczyt tych 14 plików pokazał 4 fałszywe trafienia: 3 we fragmentach podpisu PGP i 1 w nazwie zawierającej „craft”. Poprawiony automat liczy tylko całe słowa „CRA” i „Cyber Resilience” poza blokiem podpisu PGP. Nowa reguła może tylko zmniejszyć liczbę trafień, więc pozostałych plików nie trzeba było sprawdzać ponownie.
Pole Expires w 280 znalezionych plikach
| Stan | Pliki | Udział |
|---|---|---|
| Ważne | 240 | 85,7% |
| Wygasło (data z przeszłości) | 14 | 5,0% |
| Zły format (nie RFC 3339) | 7 | 2,5% |
| Brak wymaganego pola | 19 | 6,8% |
| Razem problem z Expires | 40 | 14,3% |
Według kraju (kraje z co najmniej 20 firmami)
Przedział 95% liczymy metodą Wilsona tak, jakby próba była losowa. Próba nie jest losowa, więc przedział pokazuje najmniejszą możliwą niepewność, a nie pełną.
| Kraj | Udział | Przedział 95% |
|---|---|---|
| Norwegia | 22,7%5 / 22Przedział 95%: 10,1–43,4% | 10,1–43,4% |
| Dania | 22,2%8 / 36Przedział 95%: 11,7–38,1% | 11,7–38,1% |
| Austria | 21,3%16 / 75Przedział 95%: 13,6–31,9% | 13,6–31,9% |
| Szwajcaria | 20,9%14 / 67Przedział 95%: 12,9–32,1% | 12,9–32,1% |
| Niemcy | 19,9%164 / 823Przedział 95%: 17,3–22,8% | 17,3–22,8% |
| Holandia | 19,1%17 / 89Przedział 95%: 12,3–28,5% | 12,3–28,5% |
| Czechy | 17,6%9 / 51Przedział 95%: 9,6–30,3% | 9,6–30,3% |
| Wielka Brytania | 17,4%8 / 46Przedział 95%: 9,1–30,7% | 9,1–30,7% |
| Szwecja | 16,0%8 / 50Przedział 95%: 8,3–28,5% | 8,3–28,5% |
| Francja | 14,6%7 / 48Przedział 95%: 7,2–27,2% | 7,2–27,2% |
| Hiszpania | 14,3%4 / 28Przedział 95%: 5,7–31,5% | 5,7–31,5% |
| Finlandia | 9,1%3 / 33Przedział 95%: 3,1–23,6% | 3,1–23,6% |
| Belgia | 6,5%2 / 31Przedział 95%: 1,8–20,7% | 1,8–20,7% |
| Polska | 4,0%5 / 126Przedział 95%: 1,7–9,0% | 1,7–9,0% |
| Włochy | 3,9%4 / 103Przedział 95%: 1,5–9,6% | 1,5–9,6% |
| Pozostałe 15 krajów (każdy poniżej 20 firm) | 9,5%6 / 63Przedział 95%: 4,4–19,3% | 4,4–19,3% |
Jak czytać te wyniki
- Różnica między Polską lub Włochami a Niemcami jest wyraźna (test dokładny Fishera, p < 0,001).
- Różnice między Austrią, Szwajcarią, Niemcami i Holandią mieszczą się w niepewności pomiaru. To nie jest ranking.
- Przedziały dla małych krajów są szerokie.
Kontrola źródła: te same listy targów międzynarodowych
Polskie firmy pochodzą częściowo z innych źródeł (pełny przegląd list stowarzyszeń i targów MTP) niż firmy z większości krajów. Dlatego porównaliśmy tylko firmy z list wystawców targów międzynarodowych (SPS, Light + Building, ISH, Intersec, PCIM, embedded world, it-sa, Chillventa, Perimeter Protection, Hannover Messe, The smarter E, security essen):
| Kraj siedziby | security.txt | Udział |
|---|---|---|
| Niemcy | 155 / 778 | 19,9% |
| Polska | 2 / 42 | 4,8% |
| Włochy | 4 / 94 | 4,3% |
Różnica między Polską a Niemcami utrzymuje się w tym samym źródle (p = 0,014), ale polska grupa jest mała. W pozostałych źródłach polskie firmy mają podobny wynik: 2 z 59 na listach stowarzyszeń i 1 z 28 na listach targów MTP Poznań.
Według segmentu
| Segment | Udział | Przedział 95% |
|---|---|---|
| Płytki i moduły embedded | 24,0%18 / 75Przedział 95%: 15,8–34,8% | 15,8–34,8% |
| Automatyka przemysłowa i OT | 23,3%67 / 287Przedział 95%: 18,8–28,6% | 18,8–28,6% |
| Oprogramowanie B2B instalowane u klienta | 20,5%43 / 210Przedział 95%: 15,6–26,4% | 15,6–26,4% |
| Sprzęt sieciowy i telekomunikacyjny | 18,8%9 / 48Przedział 95%: 10,2–31,9% | 10,2–31,9% |
| Produkty zabezpieczeń | 18,3%60 / 327Przedział 95%: 14,5–22,9% | 14,5–22,9% |
| IoT i smart home/budynek | 12,8%50 / 392Przedział 95%: 9,8–16,4% | 9,8–16,4% |
| Ładowanie EV i urządzenia energetyczne | 10,0%25 / 249Przedział 95%: 6,9–14,4% | 6,9–14,4% |
| Inne urządzenia podłączone (POS i kasy fiskalne, sprzęt IT, pomiary) | 7,8%8 / 103Przedział 95%: 4,0–14,6% | 4,0–14,6% |
Przekroje pomocnicze
- Bez Niemiec: 13,4% (116 z 868).
- Firmy z siedzibą w UE: 16,3% (253 z 1 554). Szwajcaria, Norwegia, Wielka Brytania i Liechtenstein razem: 19,7% (27 z 137).
06Ograniczenia
- Rama nie jest pełna ani losowa. Wystawcy targów i członkowie stowarzyszeń to zwykle firmy większe, eksportujące i zorganizowane. Mikrofirmy i producenci bez własnej marki są niedoreprezentowani. Inny przegląd (CVD Portal, 2026) pokazał, że duzi producenci publikują security.txt około trzy razy częściej niż ogół, więc nasz wynik może być wyższy niż dla wszystkich producentów.
- Niemcy to 48,7% próby, bo tam odbywają się największe targi. Wynik dla całej próby jest zbliżony do niemieckiego.
- Kraje mają różne źródła. Polska część pochodzi głównie z pełnego przeglądu list stowarzyszeń i targów MTP, pozostałe kraje głównie z list targów międzynarodowych. Kontrola źródła (sekcja 5) częściowo to sprawdza.
- Kwalifikacja firm zależy od opisów w katalogach. W rundzie 1 oceniała jedna osoba, w rundzie 2 model językowy z kontrolą wyrywkową. Część producentów mogła zostać błędnie włączona albo pominięta.
- Jedna domena na firmę. Firma może mieć security.txt w innej domenie (np. osobny host PSIRT) albo przyjmować zgłoszenia inną drogą.
- Jeden pomiar z jednej lokalizacji sieciowej. Blokady automatów i ograniczenia geograficzne mogą zaniżać wynik (sekcja 4).
- Sprawdzamy obecność pól, nie ich jakość (sekcja 3).
- Listy wystawców to stan z jednego dnia. Rejestracja na część targów (np. SPS 2026, embedded world 2027) trwała.
- Rundy nie tworzą szeregu czasowego (sekcja 8).
07Etyka
Tylko pliki przeznaczone do automatycznego pobrania.
security.txt istnieje po to, żeby można go było znaleźć w ten sposób. Bez logowania, bez testowania podatności, bez skanowania portów. Na domenę 1–2 zapytania (do 4 z rezerwą
www.), z nagłówkiem User-Agent podającym nasz adres.Bez danych osobowych.
Z list wystawców pobieraliśmy tylko dane firm. Nie zapisujemy adresów z pól Contact.
Bez wyników imiennych.
Nie publikujemy nazw firm, domen ani wyników pojedynczych firm: w raporcie, w danych, w mediach społecznościowych ani w rozmowach z dziennikarzami. Nie publikujemy przekrojów z mniej niż 20 firmami.
Wynik tylko dla zainteresowanej firmy.
Firma może otrzymać swój wynik z indeksu wyłącznie dla siebie. Wysyłamy go na adres e-mail w domenie tej firmy. Nie używamy wyników indeksu w wiadomościach handlowych.
Sprawdzenie na żywo.
Bezpłatny CRA Snapshot wykonuje nowy pomiar publicznych sygnałów dla wpisanej domeny. Nie pokazuje wyniku zapisanego w indeksie. Narzędzie nie sprawdza, kto pyta: każdy może wpisać dowolną domenę.
Co było publiczne przed raportem.
Od 1.10.2026 CRA Snapshot pokazuje pod każdym wynikiem wybrane liczby zbiorcze tej rundy: 16,6% (security.txt), 7,7% (plik kompletny), 14,3% (problem z Expires), wyniki dla Polski, Niemiec i Austrii oraz dla 7 segmentów.
Konflikt interesów.
AnnexProof sprzedaje narzędzie do obsługi wymagań CRA. Dlatego publikujemy pełną metodykę i dane zbiorcze, a wyniki pokazujemy razem z badaniami innych autorów.
08Wersje i korekty
| Wersja | Firmy (po wyłączeniach) | Kraje | Uwagi |
|---|---|---|---|
| Runda 1 | 239 (z 252) | 13 | Lista z sekcji 2. Wynik: 17,6% (42 z 239). |
| Runda 2 | 1 691 (z 1 752) | 30 | Runda 1 plus lista rozszerzona. Wynik: 16,6% (280 z 1 691). |
Runda 2 nie jest kolejnym pomiarem w czasie. Obie rundy zmierzyliśmy tego samego dnia. Runda 2 to większa próba o innym składzie. Różnice między rundami (np. Niemcy: 32,4% z 68 firm w rundzie 1 i 19,9% z 823 firm w rundzie 2) wynikają ze składu próby, a nie ze zmian u producentów.
Rejestr korekt
- 1.10.2026
Pierwsza wersja liczyła daty Expires z małą literą „z” (dozwoloną w RFC 3339) jako nieważne. Po ponownym sprawdzeniu: 9 z 30 plików oznaczonych jako wygasłe jest ważnych, 7 ma zły format, 14 naprawdę wygasło. Liczby na tej stronie są już poprawione.
- 2.10.2026
Wskaźnik „wzmianka o CRA”: 14 → 10 plików (0,8% → 0,6%). Automat liczył ciąg „cra” także wewnątrz innych słów („craft”) i w blokach podpisu PGP. Poprawiony automat szuka całych słów poza blokiem podpisu (sekcja 5). Pozostałe liczby bez zmian.
Kolejne rundy. Tę samą listę firm mierzymy ponownie co kwartał, tą samą metodyką, żeby pokazywać zmianę w czasie. Każda runda dostanie nową wersję zbioru danych.
09Jak cytować
Pełne
AnnexProof (2026). AnnexProof CRA Readiness Index, runda 2 (stan na 30.09.2026) [zbiór danych], wersja 2.0. https://annexproof.com/indeks/metodyka. Licencja CC BY 4.0.
Krótkie (media)
Źródło: AnnexProof CRA Readiness Index, runda 2 (przegląd 1 691 producentów z 30 krajów, stan na 30.09.2026).
Przy cytowaniu prosimy o dopisek: „To przegląd, nie badanie reprezentatywne”.
10Kontakt i zgłaszanie błędów
Błędy w danych lub metodyce: kontakt@annexproof.com. Poprawki publikujemy w rejestrze korekt (sekcja 8) i jako nową wersję zbioru danych.
Źródła (dostęp 2.10.2026)
- RFC 9116, A File Format to Aid in Security Vulnerability Disclosure: rfc-editor.org/rfc/rfc9116
- Komisja Europejska, Cyber Resilience Act (daty stosowania: 11.09.2026 i 11.12.2027): digital-strategy.ec.europa.eu
- Rozporządzenie (UE) 2024/2847: eur-lex.europa.eu/eli/reg/2024/2847/oj. Brzmienie zał. I cz. II pkt 5 i 6 sprawdzone w nieoficjalnym tekście skonsolidowanym (EUR-Lex nie wpuścił pobrania automatycznego).
- CVD Portal, CRA Exposure Study 2026 (o częstszym security.txt u dużych producentów): cvdportal.com/research/cra-exposure-2026
- Dane wewnętrzne AnnexProof:
research/index-sample-method.md,research/accounts-expanded-method.md,research/securitytxt_scan.py,research/expires_recheck.py.