Automatické vyhodnocení četnosti výskytu chyb v reálných projektech

Abstract

Tato diplomová práce se zabývá automatickou klasifikací softwarových zranitelností podle systému Common Weakness Enumeration (CWE). Výsledný klasifikátor může být použit k vyhodnocení četnosti CWE chyb na reálném projektu, nebo třeba přiřazování CWE k nově objeveným Common Vulnerabilities and Exposures (CVE). Nejprve jsou analyzovány dostupné datové zdroje a možné implementační techniky klasifikátoru. Hlavní pozornost je věnována předtrénovaným velkým jazykovým modelům (LLM). Je provedeno několik experimentů ve snaze vyladit kandidáty LLM na klasifikátor CWE. Nejvhodnějším základním modelem byl zvolen CodeT5 od společnosti Salesforce. Na základě provedených experimentů jsou použity dvě vyladěné konfigurace modelu CodeT5 pro použití na reálných datech. Pro zhodnocení modelu jsou použita unikátní data vycházející z datasetu CVEFixes. Následně je model také použit pro získání četností tříd CWE z vybraných GitHub projektů. Výsledný klasifikátor ovšem neprokazuje příliš dobré výsledky, a proto je otázkou, zda jsou LLM vhodnou volbou pro tento typ úlohy a zda by se budoucí práce neměly zaměřit na specializovanější architektury modelů.

Description

Subject(s)

CWE, klasifikace zranitelností, velké jazykové modely, strojové učení

Citation

Collections