Vývoj nástroje pro detekci Dependency Confusion v JavaScriptových balíčcích používaných ve frontendových řešeních

Název práce: Vývoj nástroje pro detekci Dependency Confusion v JavaScriptových balíčcích používaných ve frontendových řešeních
Autor(ka) práce: Škvára, Roman
Typ práce: Bakalářská práce
Vedoucí práce: Černý, Jan
Oponenti práce: Pavlíček, Luboš
Jazyk práce: Česky
Abstrakt:
Tato bakalářská práce se zabývá problematikou útoků typu dependency confusion v prostředí JavaScriptových balíčků ve webových aplikacích. Cílem práce je analyzovat toto bezpečnostní riziko a následně navrhnout, implementovat a ověřit nástroj pro detekci potenciálně rizikových závislostí ve frontendu aplikací. Teoretická část popisuje princip útoku dependency confusion v kontextu bezpečnosti softwarového dodavatelského řetězce, ekosystém JavaScriptových balíčků a rozebírá možnosti identifikace závislostí z veřejně dostupných artefaktů, jako jsou bundly, chunky, minifikované soubory a sourcemapy. Praktická část se zaměřuje na návrh a implementaci vlastního nástroje, který projde cílovou aplikaci, extrahuje informace o použitých balíčcích, následně ověří přítomnost ve veřejném registru a vyhodnotí míru rizika. Součástí praktické části je také testování nástroje na umělých scénářích a reálných bug bounty programech s vyhodnocením jeho přínosů, omezení a použitelnosti v praxi.
Klíčová slova: Dependency confusion; bezpečnost dodavatelského řetězce; frontend bezpečnost; JavaScript; npm
Název práce: Development of a Tool for detecting Dependency Confusion in JavaScript packages used in frontend applications
Autor(ka) práce: Škvára, Roman
Typ práce: Bachelor thesis
Vedoucí práce: Černý, Jan
Oponenti práce: Pavlíček, Luboš
Jazyk práce: Česky
Abstrakt:
This bachelor’s thesis addresses the issue of dependency confusion attacks in the context of JavaScript packages used in web applications. The aim of the thesis is to analyze this security risk and subsequently design, implement, and validate a tool for detecting potentially risky dependencies in the frontend parts of applications. The theoretical part describes the principles of dependency confusion attacks in the context of software supply chain security, introduces the ecosystem of JavaScript packages, and discusses the possibilities of identifying dependencies from publicly available artifacts such as bundles, chunks, minified files, and source maps. The practical part focuses on the design and implementation of a custom tool that crawls the target application, extracts information about the packages in use, verifies their presence in a public registry, and evaluates their level of risk. The practical part also includes testing of the tool on synthetic scenarios and within real bug bounty programs, together with an evaluation of its benefits, limitations, and practical usability.
Klíčová slova: ; software supply chain security; frontend security; JavaScript; npm; Dependency confusion

Informace o studiu

Studijní program / obor: Aplikovaná informatika
Typ studijního programu: Bakalářský studijní program
Přidělovaná hodnost: Bc.
Instituce přidělující hodnost: Vysoká škola ekonomická v Praze
Fakulta: Fakulta informatiky a statistiky
Katedra: Katedra informačních technologií

Informace o odevzdání a obhajobě

Datum zadání práce: 7. 10. 2025
Datum podání práce: 11. 5. 2026
Datum obhajoby: 15. 6. 2026
Identifikátor v systému InSIS: https://insis.vse.cz/zp/93882/podrobnosti

Soubory ke stažení

    Poslední aktualizace: