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 |