Bachelor's Thesis

AI-based URL clustering

Author of thesis: Patrik Tomaško

Acad. year: 2025/2026

Supervisor: Ing. Daniel Snášel

Reviewer: Ing. Anton Firc, Ph.D.

Abstract:

With the growing amount of internet users and malicious URL campaigns grows a demand for mass analysis of URL addresses. One of commonly used methods is clustering. Cybersecurity companies use this type of analysis to monitor malicious URL campaigns and protect users of their software. The company Gen Digital Inc. has developed a tool called Spidy, which clusters URL addresses on a daily basis using multiple clustering methods. This approach makes it possible to analyze URL addresses from different perspectives. This thesis focuses on exploring and designing new clustering methods that could enhance Spidy and therefore contribute to protecting users of products of Gen Digital Inc. The proposed methods were experimentally evaluated and selected methods were integrated into the Spidy tool.

Keywords:

Artificial intelligence, Clustering, Avast, GenDigital, URL addresses, URL, Cybersecurity, Security, N-gram, Embedding

Date of defence

19.06.2026

Date of publish

18.06.2031

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných, např. ohledně uplatnění v praxi a možností dalšího rozvinutí řešeného tématu. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B - velmi dobře.

Topics for thesis defence

  1. Popište celý postup od URL adresy až po výsledné shlukování: jak se z URL extrahují n-gramy, jak se převádějí na číselnou reprezentaci, jak do toho vstupují metriky z kapitoly 7 a k čemu přesně slouží.
  2. V kapitole 10 používáte koherenční skóre. Jak je toto skóre definováno a co ním měříte?
  3. Pokud systém Spidy každý den produkuje nové shluky, může se stát, že stejná URL adresa bude v různých dnech zařazena do různých shluků? Jak je tato situace řešena?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Dr. Ing. Otto Fučík (předseda)
doc. Mgr. Kamil Malinka, Ph.D. (místopředseda)
Ing. Marta Jaroš, Ph.D. (člen)
Ing. Vladimír Veselý, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)

Supervisor’s report
Ing. Daniel Snášel

Cíle zadání byly splněny, student navrhl, experimentálně vyhodnotil a integroval do nástroje Spidy tři nové metody strojového učení pro shlukování URL adres. Pro výběr metod použil rozsáhlou empirickou evaluaci s osmi explicitními eliminačními filtry se zaměřením na provozní charakteristiky vybraných metod. Byly nasazeny tři metody, které byly vyhodnoceny a úspěšně integrovány do testovacího prostředí.


K práci mám dílčí výhrady, a tedy, že v závěrečné fázi nebyla provedena jazyková korektura textu a nebylo doplněno kvantitativní porovnání nových metod oproti třinácti stávajícím metodám nástroje Spidy. Nejedná se o koncepčně náročné změny, ani o kritické nedostatky, avšak kvalitu výsledku by značně navýšily.


Celkově se jedná o solidní rešeršně-experimentální bakalářskou práci s rozsáhlou empirickou evaluací. Výstup však zůstal nedotažený do produkčního provozu a z tohoto důvodu nelze přímo stanovit přínos práce. Práci doporučuji k obhajobě a hodnotím známkou C.

Evaluation criteria Verbal classification
Informace k zadání

Hodnocení bylo vypracováno po dohodě s konzultanty společnosti Gen Digital Inc. Zadání bylo náročnější povahy a vedlo studenta k rozšíření produkčního nástroje Spidy o nové shlukovací metody využívající strojové učení. Student se detailně seznámil se stávajícími shlukovacími metodami, navrhl sadu nových metod založených na n-gramech, TF-IDF, Word2Vec, char-level CNN a interním doménově specifickém embedding modelu, a navrhnul multi-view clustering (MVC).

Práce s literaturou

Student pracoval s doporučenou literaturou od vedoucího a konzultanta. Zároveň proaktivně vyhledával i další zdroje.

Aktivita během řešení, konzultace, komunikace

Student pravidelně konzultoval svou práci s vedoucím i externím konzultantem ze společnosti GenDigital Inc. a na schůzky přicházel připraven.

Aktivita při dokončování

Implementační část byla dokončena v posledním měsíci řešení. Výsledná implementace byla otestována a nasazena do testovacího prostředí ve společnosti GenDigital Inc. Text i výsledná práce byly konzultovány, ale nedostatek času se projevil na finální podobě práce.

Publikační činnost, ocenění
Points proposed by supervisor: 70

Grade proposed by supervisor: C

Reviewer’s report
Ing. Anton Firc, Ph.D.

Práce má kvalitní realizační výstup a je zřejmé, že student věnoval řešení značné množství času. Přínos práce vidím ve dvou rovinách: jednak v rozsáhlém experimentálním průzkumu shlukovacích metod a výběru vhodného řešení, jednak v následné integraci zvolené metody do reálného firemního systému. Po osobní prezentaci práce je zřejmé, že student detailně rozumí provedeným experimentům, volbě parametrů i dopadům jednotlivých návrhových rozhodnutí.


Slabší stránkou práce je technická zpráva. Text je příliš dlouhý, místy špatně strukturovaný a obsahuje opakující se pasáže. Práce se místy obtížně čte a některé části nejsou dostatečně propojeny s vlastním řešením. Formální úprava také obsahuje řadu nedostatků.


I přes slabší prezentační a formální stránku však považuji výsledný výstup za kvalitní a prakticky využitelný. Student podle mého názoru odvedl dobrou práci při experimentálním ověření metod i jejich integraci do firemního prostředí, pouze ji nedokázal odpovídajícím způsobem prezentovat v technické zprávě. S ohledem na kvalitu realizačního výstupu a osobní prezentaci práce hodnotím práci stupněm B (83b).

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Zadání hodnotím jako průměrně obtížné. Student měl otestovat nové metody shlukování dat, vybrat nejvhodnější přístup a integrovat jej do stávajících firemních procesů. Zadání tedy vyžadovalo nastudování relevantních metod, jejich experimentální porovnání a následné praktické nasazení v konkrétním prostředí.

Prezentační úroveň technické zprávy

Prezentační úroveň technické zprávy je slabou stránkou této práce. Text je velmi rozsáhlý, obtížně se v něm orientuje a struktura kapitol není zvolena šťastně. Práce míchá teoretické pozadí, popis interních firemních nástrojů a vlastní návrh řešení způsobem, který působí chaoticky. Očekával bych nejdříve jasně oddělený teoretický úvod, který pokrývá clustering, n-gramové metody, statistické hodnoty a vektorové reprezentace URL adres, a až následně popis interních nástrojů společnosti, které jsou pro práci relevantní.

Nejasná je už organizace úvodních kapitol. Kapitola 2 nejdříve vysvětluje kampaně škodlivých URL a teprve poté se dostává k samotnému vysvětlení URL adresy. Některé kapitoly jsou zbytečně krátké a mohly by být spojeny, například kapitola 5 s kapitolou 4. Vlastní práce studenta začíná být jasně patrná až kolem strany 39, ale bez dostatečného propojení s předchozími sekcemi.

Kapitola 7 popisuje metriky hodnocení n-gramů, ale na tomto místě není jasné, proč jsou tyto informace důležité a jak budou použity. Zároveň chybí jasný popis toho, jak se n-gramy z URL extrahují, jak se převádějí na číselné reprezentace a jak přesně do toho zapadají metriky popsané v kapitole 7. Naopak, v kapitole 10 se používá koherenční skóre, které předtím není dostatečně vysvětleno.

Pozitivně hodnotím, že student zdůvodňuje volbu parametrů vybraných shlukovacích metod. Experimentální část působí metodicky robustně, problémem je ale její velmi nepřehledná prezentace.

65
Formální úprava technické zprávy

Formální úprava práce je slabá. Chyba je už na titulní straně, kde je za jménem vedoucího čárka. V práci se opakovaně objevují osamocené reference na začátku řádků. Text práce je psán česky, zatímco některé obrázky obsahují anglický text, například obrázek 2.1, což působí nejednotně.

Velkým problémem jsou opakovaná prázdná místa na stránkách, například na stranách 13, 19, 20, 61 a 68, a dokonce i prázdná strana 76. Typograficky práce působí neupraveně a výrazně snižuje čitelnost jinak rozsáhlého textu.

65
Realizační výstup

Realizační výstup hodnotím pozitivně. Přestože je technická zpráva velmi slabě strukturovaná, samotná experimentální a implementační část působí robustně. Student provedl rozsáhlé testování shlukovacích metod, porovnal jejich vlastnosti a na základě výsledků vybral vhodné řešení pro firemní prostředí.

Po obhajobě je zřejmé, že student rozumí detailům provedených experimentů, volbě parametrů i dopadům jednotlivých rozhodnutí. Výsledné řešení bylo integrováno do firemního systému, což považuji za výrazný praktický přínos. Realizační výstup tak výrazně převyšuje úroveň samotné textové prezentace práce.

85
Využitelnost výsledků

Výsledky práce jsou dobře využitelné v praxi, protože byly přímo integrovány do procesů firmy. Práce tak nemá pouze experimentální charakter, ale přináší konkrétní výstup použitelný v reálném provozu.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Zadání bylo splněno. Student provedl rozsáhlé experimentální ověření dostupných shlukovacích metod, analyzoval dopady jednotlivých návrhových rozhodnutí a vybral metody vhodné pro použití ve firemním systému. Výsledné řešení bylo integrováno do firemních procesů, což považuji za významný praktický přínos této práce.

Po obhajobě je zřejmé, že student detailně rozumí tomu, co implementoval, proč volil konkrétní parametry a jaká rozhodnutí ovlivňují experimentální výsledky. Přínos práce vidím ve dvou rovinách: jednak v rozsáhlém experimentálním průzkumu shlukovacích metod a výběru vhodného řešení, jednak v následné integraci do reálného firemního systému.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Technická zpráva má 82 vysázených stran, podle thesis checkeru přibližně 98 normostran. Rozsahově je tedy práce na horní hranici běžného rozsahu. Větší problém než samotná délka je ale relevantnost a organizace textu. Práce by podle mého názoru šla výrazně zkrátit, protože některé části opakovaně popisují stejné koncepty. Například v sekci 10.3.2 se znovu vysvětlují vyhodnocovací metriky, které již byly představeny v kapitole 7.

Práce s literaturou

Použitá literatura je v pořádku. Práce obsahuje dostatečné množství zdrojů a velká část z nich tvoří odborné články. Ne všechny teoretické části jsou však dostatečně ocitovány; například u popisu jednotlivých částí URL adres by bylo vhodné doplnit reference.

75
Topics for thesis defence:
  1. Popište celý postup od URL adresy až po výsledné shlukování: jak se z URL extrahují n-gramy, jak se převádějí na číselnou reprezentaci, jak do toho vstupují metriky z kapitoly 7 a k čemu přesně slouží.
  2. V kapitole 10 používáte koherenční skóre. Jak je toto skóre definováno a co ním měříte?
  3. Pokud systém Spidy každý den produkuje nové shluky, může se stát, že stejná URL adresa bude v různých dnech zařazena do různých shluků? Jak je tato situace řešena?
Points proposed by reviewer: 83

Grade proposed by reviewer: B

Reasons for publication postponement

Publication of the final thesis has been postponed in compliance with the provisions of Section 47b (4) of Act No. 111/1998 Coll., on the Higher Education Institutions and on amendments and supplements to other acts, as amended.

Responsibility: Mgr. et Mgr. Hana Odstrčilová