Yapay Zeka Kodlarında Güvenlik: LLM Çıktılarındaki Açıkları Azaltmak için Prompt Mühendisliği Yaklaşımı

dc.contributor.advisor Nazlıoğlu, Selma
dc.contributor.author Saleem, Wardah
dc.date.accessioned 2026-03-05T15:08:43Z
dc.date.available 2026-03-05T15:08:43Z
dc.date.issued 2025
dc.description.abstract Yapay zeka tarafından üretilen kodların güvenliği, Büyük Dil Modelleri'nin (LLM'ler) yazılım geliştirme süreçlerinde giderek daha fazla kullanılmasıyla önemli bir endişe haline gelmiştir. GPT-3.5, GPT-4, Gemini, DeepSeek ve LLaMA gibi güçlü kod üretme yeteneklerine sahip modeller, güvenlik açısından kabul görmüş standartları tam olarak anlamadıkları için SQL enjeksiyonu, zayıf kimlik doğrulama ve hatalı erişim kontrolü gibi güvenlik açıklarına karşı savunmasız kalabilmektedir. Bu tez, LLM'ler tarafından üretilen kodların güvenliğini artırmak amacıyla OWASP Top 10 standartlarının dahil edildiği hızlı mühendislik (prompt engineering) tekniklerini incelemektedir. Bu çalışmada, farklı LLM'lerde (zero-shot, Chain-of-Thought, Recursive Criticism and Improvement (RCI) ve persona tabanlı promptlar) farklı yönlendirme stratejileri karşılaştırılarak bir kıyaslama veri kümesi (LLMSecEval) ve statik analiz araçları (Bandit ve CodeQL) kullanılmıştır. Sonuçlar, RCI tekniğinin güvenlik açıklarını önemli ölçüde azalttığını ve LLaMA modelinin RCI tekniğiyle sıfır güvenlik açığına ulaştığını göstermektedir. Bulgular, yönlendirme (prompt) tasarımının güvenlik risklerini azaltmadaki etkinliğini ortaya koymakta ve geliştiriciler ile araştırmacılar için güvenli kod üretimi konusunda pratik içgörüler sunmaktadır. Bu araştırma; açık ve kapalı LLM'lerin karşılaştırmalı değerlendirmesini yaparak, prompt mühendisliğini geliştirerek ve güvenlik odaklı, yeniden kullanılabilir prompt şablonları önererek literatüre katkı sağlamaktadır. Araştırmanın ikinci aşamasında, RCI-SA Döngüsü (Statik Analiz ile Yinelemeli Eleştiri ve İyileştirme) adı verilen bir iyileştirme yöntemi sunulmuştur. Bu yinelemeli yaklaşım, statik analiz geri bildirimlerini kullanarak üretilen kodları sürekli olarak iyileştirmeyi amaçlamaktadır. Bazı durumlarda tespit edilen toplam CWE sayısı artsa da, bu döngü birçok kritik güvenlik açığını ortadan kaldırmış ve önceden gizli olan sorunları açığa çıkarmıştır, bu da genel güvenliğin artmasına yol açmıştır. Bu yöntem, yinelemeli doğrulamanın önemini vurgulamakta ve geri bildirim odaklı prompt iyileştirmeleri yoluyla güvenli kod üretimi için pratik bir çerçeve sunmaktadır.
dc.description.abstract The security of AI-generated code has become an important concern as Large Language Models (LLMs) are being used more and more in software development. Despite having strong code generating capabilities, LLMs like GPT-3.5, GPT-4, Gemini, DeepSeek, and LLaMA frequently don't understand accepted security procedures, which leaves them vulnerable to issues like SQL injection, weak authentication, and inappropriate access control. This thesis explores the improvement of LLM-generated code security by rapid engineering, namely through the incorporation of OWASP Top 10 standards. A benchmark dataset (LLMSecEval) and static analysis tools (Bandit and CodeQL) are used in this study to compare different prompting strategies across many LLMs, such as zero-shot, Chain-of-Thought, Recursive Criticism and Improvement (RCI), and persona-based prompts. Results indicate that RCI prompting significantly reduce vulnerability rates, with LLaMA achieving zero vulnerabilities under RCI prompting. The findings underscore the effectiveness of prompt design in mitigating security risks and offer practical insights into secure code generation for developers and researchers. This research contributes to the field by benchmarking open and closed LLMs, enhancing prompt engineering practices, and proposing reusable, security-aware prompt templates. In the second phase of the research, a refinement method called RCI-SA Loop (Recursive Critique and Improvement with Static Analysis) is introduced. This iterative approach uses static analysis feedback to continuously improve generated code. While the total number of detected CWEs increased in some cases, the loop effectively removed several critical vulnerabilities and exposed previously hidden issues, resulting in overall security improvement. The method highlights the importance of iterative validation and contributes a practical framework for secure code generation through feedback-driven prompt refinement. en_US
dc.identifier.uri https://hdl.handle.net/20.500.14411/11226
dc.identifier.uri https://tez.yok.gov.tr/UlusalTezMerkezi/TezGoster?key=KOgdn9H3uVnWeb15j2W4h-VcxD07rBTdl_1MHFOlODd47nEL3PS-VLGblJ_d6LMd
dc.language.iso en
dc.subject Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol
dc.subject Güvenlik Mühendisliği
dc.subject Güvenlik Protokolleri
dc.subject Kod Üretici
dc.subject Yazılım Güvenliği
dc.subject Computer Engineering and Computer Science and Control en_US
dc.subject Security Engineering en_US
dc.subject Security Protocols en_US
dc.subject Code Generator en_US
dc.subject Software Security en_US
dc.title Yapay Zeka Kodlarında Güvenlik: LLM Çıktılarındaki Açıkları Azaltmak için Prompt Mühendisliği Yaklaşımı
dc.title Securing AI-Generated Code: A Prompt Engineering Approach to Mitigate Vulnerabilities in LLM Outputs en_US
dc.type Master Thesis en_US
dspace.entity.type Publication
gdc.coar.type text::thesis::master thesis
gdc.description.department Fen Bilimleri Enstitüsü / Yazılım Mühendisliği Ana Bilim Dalı / Yazılım Mühendisliği Bilim Dalı
gdc.description.endpage 91
gdc.identifier.yoktezid 990640
gdc.virtual.author Nazlıoğlu, Selma
relation.isAuthorOfPublication 1deb41cd-45a4-4520-bc22-7addb375a869
relation.isAuthorOfPublication.latestForDiscovery 1deb41cd-45a4-4520-bc22-7addb375a869
relation.isOrgUnitOfPublication 50be38c5-40c4-4d5f-b8e6-463e9514c6dd
relation.isOrgUnitOfPublication 4abda634-67fd-417f-bee6-59c29fc99997
relation.isOrgUnitOfPublication.latestForDiscovery 50be38c5-40c4-4d5f-b8e6-463e9514c6dd

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
990640.pdf
Size:
769.85 KB
Format:
Adobe Portable Document Format