Bachelor's Thesis

Portable Development Environment for YARA-X

Final Thesis 2.17 MB

Author of thesis: Albert Tikaiev

Acad. year: 2025/2026

Supervisor: Ing. Zbyněk Křivka, Ph.D.

Reviewer: doc. Dr. Ing. Dušan Kolář

Abstract:

The goal of this thesis is to create a web-based development environment and associated software components as part of the YARA-X project. While the majority of existing solutions are based on cloud architecture, this work focuses on creating a solution that does not rely on remote servers and is capable of providing similar functionality. The proposed solution allows the integration of the new development environment into individual web pages, as well as the reuse of the developed language facilities for YARA in existing development environments outside the web.

Keywords:

Online development environment, YARA-X, language server, Language Server Protocol, WebAssembly

Date of defence

19.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

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. 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 A.

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

prof. RNDr. Alexandr Meduna, CSc. (předseda)
prof. Ing. Martin Čadík, Ph.D. (místopředseda)
Ing. Jaroslav Rozman, Ph.D. (člen)
Ing. Zbyněk Křivka, Ph.D. (člen)
Ing. Lukáš Kekely, Ph.D. (člen)

Supervisor’s report
Ing. Zbyněk Křivka, Ph.D.

Spolupráce se studentem byla ukázková a student se proaktivně ujal náročného tématu překračujícího bakalářskou úroveň. Navíc se zúčastnil studentské soutěže, což svědčí o snaze představit nové nástroje pro detekci malware.

Evaluation criteria Verbal classification
Informace k zadání

Součástí práce byla implementace vývojářského nástroje pro novou technologii Yara-X na detekci malware. Náročnost práce spatřuji v potřebě se zorientovat v celém ekosystému kolem jazyka Yara, dále nastudovat aktuální trendy v návrhu a implementaci vývojářských nástrojů s důrazem na omezení závislosti na cloudových službách. 

Práce s literaturou

Dle zadání bylo třeba prostudovat celá řada pramenů. Student si dále dohledal řadu pramenů ohledně implementačních technik.

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

Student komunikoval na pravidelné bázi již od minulého léta a od té doby na tématu pracoval, což pozitivně ovlivnilo implementační výsledek.

Aktivita při dokončování

Vzhledem k průběžné aktivitě studenta jsem měl možnost konzultovat různé verze práce v průběhu celého semestru a tak bylo dokončování v duchu dalších vylepšení a doladění.

Publikační činnost, ocenění

Student demonstroval svůj nástroj jako poster na Excel@FIT. Část implementace týkající se jazykového serveru pro jazyk Yara byla zveřejněna jako otevřený kód, což má nemalý dopad na vývoj dalších nástrojů pracujících s jazykem Yara. 

Points proposed by supervisor: 95

Grade proposed by supervisor: A

Reviewer’s report
doc. Dr. Ing. Dušan Kolář

Výborná práce, je k dispozici jako součást veřejně dostupného řešení, student přispívá pravidelně dál, udělal i další věci mimo, text je srozumitelný a čitelný. Student sám přidal vyhodnocení a realizoval rychlou vyrovnávací paměť. Navrhuji případně ocenění.

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

Evaluation level: obtížnější zadání

Zadání je lehce náročnější vzhledem k šířce záběru na počátku, kde všude je třeba proniknout a s čím je se třeba detailně seznámit. Jinak je to standardní kvalitní zadání, dává možnost vytvořit pěknou práci.

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

Text je čitelný a srozumitelný, dá se pochopit, co autor chtěl, jak to udělal, kam směřoval, jak pracuje výsledek.

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

Odevzdané PDF má na straně PDF opět úvodní list, to se nepovedlo. Nicméně nadpisy v anglickém textu, kdy není dodrženo pravidlo velkých písmen, přičemž někde, díky názvům, se objevuje, působí značně neesteticky a chaoticky. Jinak pěknou práci to shazuje.

85
Realizační výstup

Bylo mi předvedeno a vysvětleno vše, na co jsem se zeptal. Za mě extra kvalitní realizace, která je navíc využívána.

100
Využitelnost výsledků

Výsledky práce jsou již využívány a volně k dispozici.

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

Evaluation level: zadání splněno

Zadání bylo splněno s tím, že student musel provést změny, protože pracoval na "živém" systému, který je public. Vypořádal se s tím dobře, provedl navíc lint. Za mě více, jak bylo třeba.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Dobrá volba litaratury.

95
Points proposed by reviewer: 95

Grade proposed by reviewer: A

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