Strauß, D. (2025). Automating software and vulnerability testing in REST APIs with large language models [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2025.130124
E194 - Institut für Information Systems Engineering
-
Date (published):
2025
-
Number of Pages:
110
-
Keywords:
Large Language Models (LLMs); Prompt Engineering; Chain-of-Thought (CoT); Tree-of-Thought (ToT); In-Context Learning (ICL); API Documentation Consistency; REST API Testing; Automated Test Case Generation; Vulnerability Detection; Security Testing Automation
en
Abstract:
Diese Arbeit untersucht die Wirksamkeit von Large Language Models (LLMs) in der automatisierten Testfallgenerierung für REST-APIs. Der Fokus liegt auf ihrer Leistungsfähigkeit, den Auswirkungen von Prompt Engineering-Techniken und ihrer Fähigkeit, Schwachstellen zu identifizieren und die Testabdeckung zu verbessern. REST-APIs sind aufgrund ihrer Einfachheit essenziell für die Webentwicklung, jedoch anfällig für Angriffe, weshalb umfassende Tests unerlässlich sind. LLMs können helfen die API-Dokumentation und Testprozesse zu optimieren und somit die Sicherheit und Belastbarkeit erhöhen. Ziel dieser Forschung ist es einen LLM-basierten Ansatze zu entwickeln, der Testfälle generiert, die Abdeckung verbessert und gleichzeitig die Testkosten minimiert.Die Arbeit stellt zwei neue Anwendungsfälle vor: WebAPIDocumentation und WebAPITesting. Die Arbeit zielt darauf ab, die Erstellung von OpenAPI-Spezifikationen zu automatisieren, Dokumentationsfehler zu beheben und Tests zur Identifikation von Schwachstellen wie fehlerhafter Authentifizierung durchzuführen. Die Ergebnisse zeigen, dass GPT-4o-mini o1 effektiver Endpunkten und Parametern erkennt. Das ist insbesondere der Fall, wenn die Prompts mit Prompt Engineering-Techniken verwendet werden wie Chain-of-Thought (COT) und In-Context Learning (ICL). Obwohl GPT-4o-mini sich beim Erkennen gängiger Schwachstellen wie fehlerhafter Authentifizierung und NoSQL-Injection auszeichnet, stößt es bei komplexeren Problemen wie der Offenlegung sensibler Daten und unzureichender Ratenbegrenzung auf Schwierigkeiten. Die Ergebnisse zeigen das Potenzial von LLMs zur Verbesserung von Sicherheitstests und betonen die Rolle des Prompt Engineering bei der Verbesserung der Effizienz und Genauigkeit automatisierter Tests. Insgesamt trägt diese Arbeit zum aktuellen Fachgebiet bei, indem sie zeigt, dass LLMs zum Generieren von Testfällen für REST-APIs verwendet werden können und dabei effizient sind. Ihre Leistung kann durch den Einsatz von Prompt Engineering-Strategien wie COT verbessert werden. Darüber hinaus zeigte sie, dass LLMs zum Aufdecken gängiger Sicherheitslücken verwendet werden können.Diese Arbeit leistet einen Beitrag zum Fachgebiet, indem sie die Wirksamkeit von LLM-gesteuerten Tests für REST-APIs hervorhebt und Strategien zur Optimierung der LLM-Leistung durch fortschrittliche Prompt-Techniken anbietet.
de
This thesis investigates the efficacy of Large Language Models (LLMs) in automating REST API test case generation. It focuses on their performance, their ability to identify vulnerabilities and improve test coverage and how Prompt Engineering techniques effect this. REST APIs are crucial in web development due to their simplicity, but they are vulnerable to attacks. Therefore, thorough testing is essential. LLMs can help with that as they improve safety and resilience because they can help streamline testing and documentation procedures for APIs. Thus, the goal of this thesis is to develop an LLM-based approach to generate test cases, improve coverage, and reduce expenses.This work introduces two new use cases: WebAPIDocumentation and WebAPITesting. It aims to automate the generation of OpenAPI specifications, correct documentation inconsistencies, and conduct tests to identify vulnerabilities such as faulty authentication. The results show that GPT-4o-mini o1 is more effective at recognizing endpoints and parameters, particularly when prompts are enhanced with Prompt Engineering techniques like Chain-of-Thought (COT) and In-Context Learning (ICL). Even though GPT-4o-mini does well in detecting common vulnerabilities like Identification and Authentication Failures and NoSQL Injection, it has difficulties with more complex issues such as Sensitive Data Exposure and Insufficient Rate Limiting. The results show the potential of LLMs to improve security testing and highlight the role of Prompt Engineering in improving the efficiency and accuracy of automated testing. Overall, this thesis contributes to the current field by showing that LLMs can be used in generating test cases for REST APIs and are efficient in doing so. Their performance can be improved by using Prompt Engineering strategies, such as COT. Additionally, the work shows that LLMs can be used to find common security vulnerabilities.This work contributes to the field by showcasing the effectiveness of LLM-driven testing for REST APIs and providing strategies to optimize LLM performance by using Prompt Engineering techniques.