Many organizations are developing LLM‑based applications to improve productivity, supported by the growing number of platforms that simplify their creation. However, integrating LLMs into applications introduces new security risks, as adversaries can exploit models through natural‑language–based attacks such as prompt injections and jailbreaks. Successful attacks can lead to sensitive data leakage, reputational harm, or deeper compromise of internal digital environments.
These risks highlight the need for structured, repeatable, and context‑aware security tests. Therefore, we present ProViLE: a systematic methodology and supporting open‑source tool for prompt‑based security testing of LLM‑enabled applications. ProViLE builds on the principle that effective tests are highly dependent on the context of the application. The methodology guides practitioners through four key steps: (1) identifying potential attack objectives, (2) selecting relevant attack techniques, (3) formulating corresponding attack prompts, and (4) evaluating the LLM application’s responses to the attack prompts.
The ProViLE tool automates the final two steps by using LLMs to (3) generate attack prompts from objectives and techniques, and (4) evaluate whether a response constitutes a successful attack based on the objective and a scoring rubric. This enables scalable and consistent testing across diverse application contexts. The result is a structured overview of the security posture of an LLM‑based application across a set of custom security considerations.
ProViLE aims to facilitate the penetration‑testing workflow for LLM applications, but can also be used by development teams to conduct initial baseline assessments before deployment. By open‑sourcing the tool, we hope to support the broader development of secure LLM‑based systems.
The ProViLE tool was implemented in Python and kept minimalistic such that it is easy to install and run in a restricted environment. This also facilitates the customization of the tool to the specific needs of an organization.
The current implementation supports the use of both local LLMs through Ollama and remote LLMs through OpenRouter. Furthermore, the user can set the number of attack shots that should be carried out with the same objective and technique to account for the stochastic nature of LLMs. Each shot can take previous shots and the results of previous shots into consideration or be fully independent.
Development of the tool is ongoing. There are already plans to include multi-threading and an option to resume tests from the latest saved attack onward. But, we are also open for suggestions, which can be shared on the GitHub repository or via our contact channels.
This software was developed by TNO within the Partnership for Cyber Security Innovation (PCSI), a Dutch innovation ecosystem that features leading companies across several industries.
