Bachelor's Thesis

Penetration testing enhanced by artificial intelligence

Final Thesis 3.54 MB Appendix 8.93 MB

Author of thesis: Daniel Linduška

Acad. year: 2025/2026

Supervisor: Ing. Willi Lazarov

Reviewer: doc. Ing. Zdeněk Martinásek, Ph.D.

Abstract:

This bachelor’s thesis explores the use of large language models to support and streamline the penetration testing process. The theoretical section summarizes the fundamentals of penetration testing and how language models work. The main objective of the practical section is to design and implement an expert AI assistant (PentestAssistant) intended for secure local deployment. The system integrates a vector database (ChromaDB) containing processed data from the OWASP ASVS and WSTG security methodologies. The thesis utilizes selected open-source models (Gemma3:4b, Llama3.1:8b, and Falcon3:7b) run locally via the Ollama platform. The resulting solution is developed in Python using the Flask framework based on a client-server architecture. It offers users both a responsive web interface and a remote command-line client interface communicating via a secure REST API, while a separate console application running directly on the server
is available for local administration. The system also includes modules for account management, chat, and automated generation of PDF test reports. The practical value of the work is complemented by experimental testing on the OWASP BWA vulnerability platform, which was carried out under the direct and exclusive guidance of the proposed assistant.

Keywords:

large language models, ethical hacking, penetration testing, Retrieval-Augmented Generation, OWASP ASVS, OWASP WSTG, Ollama, ChromaDB, Flask, automation

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Student obhájil bakalářskou práci a odpověděl na otázky členů komise a oponenta. Otázky: 1. Jaké jsou hlavní limity použití LLM v penetračním testování z hlediska bezpečnosti? 2. Proč nebyly testovány LLM modely s větším počtem parametrů např. 20b nebo 31b? 3. Máte v práci nějaká objektivní kritéria dle kterých jste modely hodnotil? 4. Co znamená spojení Mixture of Experts? 5. Řešil jste v práci, zda je jazykové modely vůbec právně možné použít k penetračnímu testování?

Language of thesis

Czech

Faculty

Department

Study programme

Information Security (BPC-IBE)

Composition of Committee

prof. Ing. Radim Burget, Ph.D. (předseda)
doc. Ing. Lukáš Malina, Ph.D. (místopředseda)
Mgr. Jakub Vostoupal, Ph.D. (člen)
Ing. Martin Zukal, Ph.D. (člen)
Ing. Martin Jonák, Ph.D. (člen)
Ing. Michal Švento (člen)
Ing. Willi Lazarov (člen)

Supervisor’s report
Ing. Willi Lazarov

Bakalářská práce se věnuje využití velkých jazykových modelů (LLM) pro podporu penetračního testování v lokálním nasazením. Výstupem práce je AI asistent, který na základě metodologie OWASP navádí uživatele během testování a umožňuje generování reportů. V teoretické části student popisuje problematiku penetračního testování, čemuž následuje popis principů fungování LLM. Součástí je také srovnání 13 lokálních modelů, na základě kterého student zdůvodnil výběr tří kandidátů pro praktickou realizaci.

V praktické části je představen návrh a implementace AI asistenta. Kladně hodnotím využití metody RAG se znalostní bází obsahující vektorizované dokumenty OWASP ASVS 5.0 a WSTG. Student vyvinul vlastní řešení skládající se z webové aplikace, REST API, lokálního CLI a klientského API skriptu. Řešení bylo následně ověřeno na zranitelné aplikaci pod vedením AI asistenta, ve kterém byly vybrané modely srovnány z hlediska rychlosti a relevance odpovědí. Výsledné hodnocení modelů je věcné a podložené konkrétními zjištěnými nedostatky.

Po formální stránce je práce na dobré úrovni a obsahuje minimum překlepů nebo typografických chyb. Výtku bych měl pouze k snímkům obrazovek, které mohly být provedeny ve vyšší kvalitě a jednotném formátu. Citováno je celkem 36 zdrojů složených převážně z odborných publikací a dokumentací k použitým nástrojům a technologiím.

Veškeré stanovené cíle bakalářské práce považuji za splněné. Student práci pravidelně konzultoval, vyvinutý asistent je funkční a s ohledem na lokální nasazení vhodně řeší práci s citlivými daty. Na základě uvedených skutečností doporučuji práci k obhajobě s hodnocením A/92. Points proposed by supervisor: 92

Grade proposed by supervisor: A

Student Daniel Linduška se věnoval ve své práci výzkumu a praktickému využití moderních metod umělé inteligence (AI), zejména velkých jazykových modelů, k podpoře penetračního testování. Hlavním cílem bylo analyzovat možnosti využití velkých jazykových modelů v oblasti penetračního testování a navrhnout vlastní systém AI asistenta. Student ve své bakalářské práci splnil zadání v plném rozsahu. Hlavním přínosem byl vlastní návrh a implementace PentestAssistant a jeho experimentálnímu ověření. Návrh AI asistenta využívá RAG architektury, vektorovou databázi ChromaDB naplněnou daty OWASP ASVS a WSTG a modulární aplikaci (web + CLI + API) – viz obr.3.1. Oceňuji využití moderních technologií (Flask, Ollama, LangChain), důraz na bezpečnost (lokální běh modelů, správa API klíčů) a velmi kvalitní návrh architektury systému. Práce vykazuje znaky samostatné tvůrčí činnosti a odpovídá úrovni kvalitního inženýrského návrhu. Teoretická část práce je zpracována přehledně a systematicky. Student zde detailně popisuje fáze a typy penetračního testování, představuje principy velkých jazykových modelů včetně jejich architektury a omezení (např. halucinace), provádí srovnání vybraných LLM modelů.  Dále student odůvodní volbu Ollama pro lokální nasazení a verifikaci asistenta. V poslední části práce student provedl experimentální testování na platformě OWASP BWA, kde bylo provedeno srovnání modelů (Llama, Gemma, Falcon). Výsledky jsou interpretovány správně a prokazují, že integrace RAG výrazně zvyšuje kvalitu odpovědí modelů. Práci navrhuji k obhajobě s hodnocením A. Topics for thesis defence:
  1. Jaké jsou hlavní limity použití LLM v penetračním testování z hlediska bezpečnosti?
  2. Proč nebyly testovány LLM modely se větším počtem parametrů např. 20b nebo 31 b ?
Points proposed by reviewer: 92

Grade proposed by reviewer: A

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