TLDR: The research paper introduces SAFE, an IntelliJ IDEA plugin that uses GPT-4o to explain software vulnerabilities detected by Static Application Security Testing (SAST) tools. SAST tools often provide generic warnings, leading to developer confusion. SAFE aims to improve usability by generating detailed, context-aware explanations of vulnerability causes, impacts, and mitigation strategies, tailored to a developer’s experience level. An expert study confirmed that SAFE’s explanations significantly assist beginner to intermediate developers in understanding and addressing security flaws, demonstrating the effectiveness of a hybrid approach combining LLMs with SAST.
Software vulnerabilities are a constant challenge for companies, leading many to adopt Static Application Security Testing (SAST) tools. While effective at detection, these tools often fall short in usability, providing generic warnings that can be difficult for developers to understand or act upon. This often results in critical findings being misunderstood or overlooked.
Addressing this critical gap, a new research paper introduces SAFE (Static Analysis Findings Explainer), an innovative Integrated Development Environment (IDE) plugin. This plugin leverages the power of Large Language Models (LLMs), specifically GPT-4o, to provide clear, detailed explanations of software vulnerabilities detected by SAST tools. The goal is to make security findings more accessible, especially for beginner to intermediate developers, thereby significantly improving the overall usability of SAST tools.
How SAFE Works
SAFE operates by integrating directly into the development environment. Its architecture involves several key components: a parser, an annotator, a prompt engine, and a user interface. The parser takes standard SAST output files (SARIF format) and extracts crucial information about detected vulnerabilities, including code snippets and data-flow details. The annotator then enriches these findings with supplementary information from security catalogs, such as the Common Weakness Enumeration (CWE) list.
The core of SAFE’s explanation generation lies in its prompt engine. It uses a “zero-shot prompting” strategy, where the LLM is given the role of a security expert. The prompt outlines the specific explanation task, including the vulnerability’s rule name, message, code snippet, and data-flow information. Crucially, the prompt also considers the developer’s experience level (beginner, intermediate, or advanced) to tailor the detail and complexity of the explanation. This allows SAFE to provide information about the cause, consequences, and mitigation strategies in a way that resonates with the user.
Evaluating the Approach
The researchers conducted a two-part evaluation. First, they benchmarked various open and closed-source LLMs and prompting techniques for their effectiveness in detecting security vulnerabilities (RQ1). This step was crucial to identify models with strong internal reasoning capabilities, which are essential for generating reliable explanations. While GPT-5 showed the strongest overall performance, GPT-4o was selected for the user study due to its availability at the time, cost-effectiveness, and suitability for well-defined coding tasks.
The second part of the evaluation (RQ2) focused on assessing the quality of the LLM-generated explanations. An expert study was conducted with four experienced software security trainers who evaluated SAFE’s explanations against the OWASP Benchmark, a comprehensive Java vulnerability test suite. The trainers assessed explanations based on five criteria: relevance, faithfulness (absence of hallucination), conciseness, coherence, and accuracy.
The findings were largely positive. Experts considered 64% of the explanations to be at least “acceptable,” with none rated “very poor.” Notably, all explanations were deemed “faithful,” meaning they were free from hallucinations and correctly referenced the provided context. Accuracy was also high, with 90% of explanations considered “good” or “very good.” However, areas for improvement were identified, particularly in relevance, conciseness, and coherence, suggesting that further refinement of prompt templates and clearer distinctions between experience levels could enhance explanation utility.
Also Read:
- New Research Tackles IoT Vulnerability Detection in Software Issue Reports
- Unlocking Trust: How to Improve Large Language Models’ Self-Confidence in Code Reasoning
Impact and Future Directions
The study concludes that this hybrid approach, combining the robust detection capabilities of SAST tools with the natural language generation prowess of LLMs, significantly helps developers understand and address security vulnerabilities. This makes SAST tools more usable and effective, especially for those with limited software security experience. The research highlights the potential for LLMs to complement, rather than simply replace, established security testing methodologies.
For more in-depth information, you can read the full research paper: Explaining Software Vulnerabilities with Large Language Models.


