html2wp / Bezpečnosť

Nahlásenie zraniteľnosti

Napíš na hello@html2wp.dev a do predmetu daj SECURITY. Bezpečnostný problém prosím nehlás cez verejné issue na GitHube. Issues sú tam verejné od chvíle, keď ich niekto založí, takže každý používateľ skillu by bol problému vystavený skôr, než by existovala aktualizácia, ktorú si môže nainštalovať.

Ako nahlásiť

Pridaj všetko, čo treba na zopakovanie problému: verziu alebo commit, jednotlivé kroky a čo si namiesto toho očakával. Proof of concept (funkčná ukážka zneužitia) pomôže a radi ho uvidíme, ale na nahlásenie ho nepotrebuješ.

Endpoint /v1/report, ktorý opisuje dokumentácia, na to nie je správny kanál. Je to schránka na chyby generátora a číta ju človek spolu s bežnými hláseniami chýb.

Čo môžeš čakať

  • Potvrdenie, že sme hlásenie dostali, do 3 pracovných dní.
  • Posúdenie problému a približný časový plán do 10 pracovných dní.
  • Zmienka v poznámkach k vydaniu, ak o ňu stojíš, a žiadna, ak radšej nie.

Keď sa nikto neozve

Sme malá prevádzka, nie firma s bezpečnostným tímom. Ak hlásenie po uplynutí týchto lehôt zostane bez odpovede, pošli ho znova: prehliadli sme ho, neignorujeme ho.

Čo patrí do rozsahu

  • Skill a skripty v skills/html2wp/assets/scripts/, ktoré bežia na tvojom vlastnom počítači.
  • Konverzná služba na adrese api.html2wp.dev.
  • WordPress téma, ktorú služba vygeneruje, vrátane PHP runtime, ktorý sa s ňou dodáva, a importéra obsahu.

Oplatí sa nahlásiť aj veci, ktoré vyzerajú ako drobnosti: čokoľvek, čo číta alebo posiela súbory mimo vstupného priečinka a pracovného priestoru, čokoľvek, čo jednej konverzii umožní vidieť inú, čokoľvek vo vygenerovanej téme, k čomu sa dá dostať bez prihlásenia, a čokoľvek, čo prinúti dokončenú konverziu odovzdať tému, ktorú mala odmietnuť.

Čo do rozsahu nepatrí

  • Nálezy voči verzii WordPressu, PHP alebo pluginu, ktorú si sa rozhodol používať, ak je riešením aktualizácia.
  • Dočasný WordPress v Dockeri, ktorý používa test-env.sh na lokálne overenie. Zámerne má pevné heslo správcu, počúva len na 127.0.0.1 a po každom behu sa zmaže. Je to testovacia pomôcka, nie nasadený web.
  • Hlásenia, že kontrolu licencie sa dá z klienta odstrániť. Áno, dá: klient je tvoj a môžeš ho upravovať. Nič, čo súvisí s bezpečnosťou, od tejto kontroly nezávisí. O tom, na čo máš nárok, rozhoduje služba, a platené časti sú práve tie, ktoré bez kľúča odmietne vytvoriť.
  • Objemové útoky typu denial of service (zahltenie služby požiadavkami) na api.html2wp.dev a nálezy, ktoré sa obmedzujú na spustenie skenera proti tejto adrese.

Testovanie proti službe

Testuj na vlastných konverziách a s vlastným licenčným kľúčom. Nepokúšaj sa dostať k úlohám, artefaktom ani pracovným priestorom iného účtu. Ak si myslíš, že si na to našiel spôsob, presne toto je hlásenie, ktoré nám máš poslať, a stačí opísať postup. Nemusíš ho dokazovať na cudzích dátach.

Čo odchádza z tvojho počítača

Je to opísané na stránke o dátach a v README samotného pluginu, lebo bezpečnostné pravidlá sú zlé miesto na to, aby si sa to dozvedel prvýkrát. Stručne: do služby sa nahrá zostavený web, na ktorom konverzia prebieha. Verdikty kontrol sa hlásia zvlášť a obsahujú len názvy a čísla. Prvá fáza (Stage 1) odfiltruje z balíka súbory, ktoré vyzerajú ako prihlasovacie údaje, a vypíše každý, ktorý vyradila. Ak nájdeš niečo, čo sa cez tento filter dostane, patrí to do rozsahu.

Táto stránka vychádza zo súboru SECURITY.md, ktorý je súčasťou repozitárov pluginu. Ak by si navzájom odporovali, platí súbor v repozitári.